これはServerFaultの問題かもしれませんが、OSが相対パスを解決するために使用する方法を理解することにもっと興味がありました。 Windows 2003の2つのVMwareインスタンスがあります。フォルダパス内で別のバッチファイルを実行するバッチファイルを実行しようとしています。このスクリプトは、1 VM上の細かい動作しますが、他のVM上ではエラーで実行に失敗します。相対パスに関する問題(* .bat + VMWARE + Windows 2003)
> The System cannot find the file specified
私が実行しようとしていたスクリプトがscript.bat
です:
start /d FOLDERNAME /b /WAIT AnotherScript.bat %~n0%~x0
私は両方の私のファイルを入れています両方のマシン上のC:\ドライブの下の同じフォルダ構造内にあります。ファイルAnotherScript.batは、両方のVMのFOLDERNAME内にあります。
私は両方のVMの管理者として表示されるため、アクセス許可の問題(?)ではありません。
私はなぜ、あるマシンで相対パスを解決できないのか、別のマシンで解決することができないのだろうと思っていました。
おかげ
ありがとう。両方のスクリプトが同じディレクトリから起動しており、%PATH%変数は同じで、cmdは両方のマシンのC:\ WINDOWS \ system32 \ cmd.exeから開始します。これのどれも視覚的に異なるとは思われません。私が調べなければならない何か他にありますか? –
@sc_rayこれは、起動時にcmdが表示する現在の作業ディレクトリを意味していました。また、ECHO%CD%をバッチスクリプトに追加して、バッチファイル2を実行する前に両方のVMが表示している現在のディレクトリを確認しましたか? –