「なぜ Win98 なの?」と聞かないでください。
Win98用のバッチファイルを書いています。現在のディレクトリパスをいくつかの変数で取得する必要があります。次の例は機能しません:
curdir=cd
curdir=%cd%
curdir="%cd%"
(これは WinXP と Win7 で機能します)
コマンドcd
は Win98 では値を返さず、sdtout のみにパスを出力します。
あなたが私を助けてくれることを願っています。
「なぜ Win98 なの?」と聞かないでください。
Win98用のバッチファイルを書いています。現在のディレクトリパスをいくつかの変数で取得する必要があります。次の例は機能しません:
curdir=cd
curdir=%cd%
curdir="%cd%"
(これは WinXP と Win7 で機能します)
コマンドcd
は Win98 では値を返さず、sdtout のみにパスを出力します。
あなたが私を助けてくれることを願っています。
これは、Windows 98 に含まれている実際の MS-DOS で機能します。%~dp0 は NT コマンド プロセッサの機能であり、MS-DOS では使用できません。
@echo off
echo exit|%comspec% /k prompt set CurDir=$P$_| FIND " " > %temp%\~SetCD.bat
call %temp%\~SetCD.bat
echo Current Directory = %CurDir%
@echo on
「現在のディレクトリパス」の意味に応じて...
スクリプトが実行されたパスをエコーするには:
echo %~dp0
例: バット ファイル C:\temp\testing\mybatch.bat でそれを実行すると、"C:\temp\testing\" が返されます。
これは、OS が現在そのパスをシステムの現在のディレクトリとして使用しているという意味ではありません。