ここに問題があります。
以下と同じフォルダにある約260台のコンピュータにショートカットがあります。
"c:\ documents and settings\all users\desktop\Remote agent 1234。lnk"
ショートカットで変わる唯一のものは数です。完全なファイル名を指定する代わりに、バッチファイルでワイルドカードを使用してショートカットを起動する方法はありますか?
このタスクには 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 /P "C:\Documents and Settings\All Users\Desktop" /M "Remote agent *.lnk" /C "cmd /C start \"\" @path"
Forfileは、/P
で指定されたマスクに一致する、/M
で指定されたパス内のすべてのファイルを通過し、/C
で指定されたコマンドを実行します。ここで@path
はファイルの完全パスです。
通常、コマンドstart "" "Remote Agent 1234.lnk"
を使用してショートカットを起動します。 startは内部コマンドなので、新しいシェル(cmd /C
)で呼び出す必要があります。 \"\"
は、文字列全体がすでに引用されているため、エスケープされた二重引用符です。