0

私はいくつかの同様の質問を見ましたが、私が望むものをまとめることができました. これは、最新のバッチ ファイルの名前を教えてくれるので、近いものでした。

for /f "delims=" %%x in ('dir /od /b c:\maps\*.bat') do set recent=%%x
echo %recent%

しかし、これを含むバッチ ファイルはたとえば c:\start にあるため、ファイル名だけでなく、完全なパス名を取得する必要があります。その後、「call」を使用してバッチ ファイルを実行できます。

(ちなみに、私はXPでこれをやっています。)

4

3 に答える 3

1

使用する場合

 for /f "delims=" %%x in ('dir /od /b c:\maps\*.bat') do set recent=%%x

ファイルのフルパスがc:\maps\%%x


または、代わりに使用dir /sすると、既存のすべてのサブディレクトリが反復処理されます

for /f "delims=" %%x in ('dir /od /b /s c:\maps\*.bat') do set recent=%%x

しかし、フル パスを返すという興味深い副作用があり、それは%%x.

于 2012-05-10T18:04:38.197 に答える
0

使用してみてください:

for /f "delims=" %%x in ('dir /od /b /s c:\maps\*.bat') do set recent=%%x
echo %recent%
于 2012-05-10T19:04:33.050 に答える
0

これは、パフォーマンスの低い /s よりもうまく機能しました。

for /f "delims=" %%x in ('dir /od /b c:\maps\*.bat') do set recent=%%~fx
于 2014-03-13T19:01:05.937 に答える