2

「なぜ Win98 なの?」と聞かないでください。

Win98用のバッチファイルを書いています。現在のディレクトリパスをいくつかの変数で取得する必要があります。次の例は機能しません:
curdir=cd
curdir=%cd%
curdir="%cd%"(これは WinXP と Win7 で機能します)
コマンドcdは Win98 では値を返さず、sdtout のみにパスを出力します。

あなたが私を助けてくれることを願っています。

4

2 に答える 2

1

これは、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
于 2013-04-18T21:34:38.470 に答える
0

「現在のディレクトリパス」の意味に応じて...

スクリプトが実行されたパスをエコーするには:

echo %~dp0

例: バット ファイル C:\temp\testing\mybatch.bat でそれを実行すると、"C:\temp\testing\" が返されます。

これは、OS が現在そのパスをシステムの現在のディレクトリとして使用しているという意味ではありません。

于 2012-10-14T00:19:13.007 に答える