バッチファイルを使用してショートカットを起動する


12

ここに問題があります。

以下と同じフォルダーにある約260台のコンピューターにショートカットがあります。

「c:\ documents and settings \ all users \ desktop \ Remote agent 1234 .lnk」

ショートカットで変更されるのは番号だけです。完全なファイル名を指定する代わりに、バッチファイルでワイルドカードを使用してショートカットを起動する方法はありますか?

回答:


6

このタスクにはforまたはforfilesを使用できます。Forfilesはより柔軟性がありますが、古いバージョンのWindowsでは適切に機能しない場合があります。

にとって

コマンドプロンプトから:

for %a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%a"

バッチファイル:

for %%a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%%a"

Forfiles

forfiles /P "C:\Documents and Settings\All Users\Desktop" /M "Remote agent *.lnk" /C "cmd /C start \"\" @path"

Forfilesは、で指定され/Pたマスクに一致するで指定されたパス内のすべてのファイルを通過し、で指定され/Mたコマンドを実行します/C。これ@pathがファイルのフルパスです。

通常、start "" "Remote Agent 1234.lnk"ショートカットを起動するにはコマンドを使用します。startは内部コマンドであるため、新しいシェル(cmd /C)で呼び出す必要があります。\"\"文字列全体が既に引用されているため、エスケープされた二重引用符です。


forfiles / P "C:\ Documents and Settings \ All Users \ Desktop" / M "リモートエージェント* .lnk" / C "cmd / C start \" \ "@path"はフォルダー内のファイルをリストしますが、ショートカット。
ghost3h

それは変だ。ファイル名のエコーはデフォルトのアクションですが、/Cスイッチはそれをオーバーライドします。Windowsのどのバージョンですか?
デニス

Xp Professional、すべてのファイル拡張子もリストしていますが、これは正常ではないと思いますか?
ghost3h

サポートされているデニスのようには見えませんが、実行元のディレクトリ内のファイルをエコーするだけです。これまでのところ助けてくれてありがとう!
ghost3h

forfilesのいくつかの古いバージョン-/(Windowsで非常に非定型)の代わりにスイッチに使用するというソースを見つけました。多分これは動作します:forfiles -P"C:\Documents and Settings\All Users\Desktop" -M"Remote agent *.lnk" -C"cmd /C start \"\" @path"
デニス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.