ここでの問題は、バッチ ファイルへのシンボリック リンクを作成した後、リンクがバッチ ファイルを実行しないことです。例:
mklink x x.cmd
クリックするとメモ帳でx
開きx.cmd
ます!通常のショートカット (.lnk ファイル) は期待どおりに機能します。
> ftype cmdfile
cmdfile="%1" %*
> assoc .cmd
.cmd=cmdfile
したがって、各 .cmd ファイルは自動的に実行されます。
解決策はありますか?
ここでの問題は、バッチ ファイルへのシンボリック リンクを作成した後、リンクがバッチ ファイルを実行しないことです。例:
mklink x x.cmd
クリックするとメモ帳でx
開きx.cmd
ます!通常のショートカット (.lnk ファイル) は期待どおりに機能します。
> ftype cmdfile
cmdfile="%1" %*
> assoc .cmd
.cmd=cmdfile
したがって、各 .cmd ファイルは自動的に実行されます。
解決策はありますか?
1 つの方法は、ハード リンク (mklink /H) を作成することです。しかし、何らかのショートカットが必要だと思うので、これを試してください:
1) 次のようなシェル スクリプト *.vbs を作成します (shortcut_helper.vbs):
set WshShell = WScript.CreateObject("WScript.Shell" )
set oShellLink = WshShell.CreateShortcut(Wscript.Arguments.Named("shortcut") & ".lnk")
oShellLink.TargetPath = Wscript.Arguments.Named("target")
oShellLink.Arguments = Wscript.Arguments.Named("arg")
oShellLink.WindowStyle = 1
oShellLink.Save
2) バッチ スクリプトをバッチ ファイルから次のように開始します。
path_to_vbs\shortcut_helper /target:"file_path\file.bat" /shortcut:"shortcut_name" /arg:"optional_arguments"
2) ショートカット (*.lnk) が作成され、好きな場所に移動できます =)
ただし、*.vbs ファイルには、状況によっては管理者権限が必要な場合があることに注意してください。