1

ここでの問題は、バッチ ファイルへのシンボリック リンクを作成した後、リンクがバッチ ファイルを実行しないことです。例:

mklink x x.cmd

クリックするとメモ帳でx開きx.cmdます!通常のショートカット (.lnk ファイル) は期待どおりに機能します。

> ftype cmdfile
cmdfile="%1" %*
> assoc .cmd
.cmd=cmdfile

したがって、各 .cmd ファイルは自動的に実行されます。

解決策はありますか?

4

1 に答える 1

3

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 ファイルには、状況によっては管理者権限が必要な場合があることに注意してください。

于 2013-04-05T13:33:39.217 に答える