パスを渡す必要があり、昇格が必要な操作が含まれるバッチファイルを作成しようとしています(mklink
を使用しています)。
問題を再現する方法は次のとおりです。
pause
だけを含む.batファイルを作成しますC:\ThisWillWork
およびC:\This Will Fail
C:\ThisWillWork
は同じように動作しますが、C:\This Will Fail
はコマンドプロンプトを点滅させ、すぐに閉じます。これは、Windows 764ビットで実行されています。
目標を達成するために何ができますか?昇格せずにmklink
を使用できるようにする方法はありますか? Windowsバッチファイルの使用から別のもの(PowerShellなど)に切り替える必要がありますか?フォルダーを削除して、ドロップしたフォルダーへのディレクトリシンボリックリンクとして再作成するスクリプトを作成するには、他に何を使用できますか?
次のようにショートカットを作成してみてください
%Windir%\System32\cmd.exe /C C:\BIN\batchfile.bat
それでも問題が解決しない場合は、次のことを試してください。
この問題を解決するには、[コマンドプロンプトのプロパティ]ダイアログボックスまたは[メモ帳のプロパティ]ダイアログボックスで[開始]の値を変更します。
これを行うには、次の手順に従います。
[スタート]ボタンをクリックし、[すべてのプログラム]をポイントして、[アクセサリ]をポイントします。
コマンドプロンプトまたはメモ帳を右クリックし、[プロパティ]をクリックします。
[開始]ボックスで、値を%HOMEDRIVE %% HOMEPATH%から%WINDIR%などのシステム全体の値に変更します。
[OK]をクリックします。
詳細については、 http://support.Microsoft.com/kb/832434 を参照してください。
元の方法で何が起こっているかをもっと確認したい場合は、管理者としてコマンドプロンプトを開き、次のように入力します。
%windir%\System32\cmd.exe /C "C:\bin\batchfile.bat" "C:\THIS WILL FAIL"
これにより、一部のコマンドライン解析が失敗するため、バッチファイルをロードせずにエラーが発生します。