5

バッチファイルについて質問があります

この 1 つのディレクトリ内に C:\temp\ としましょう。2 つの項目があります。1 つはフォルダ、もう 1 つは「list.txt」という名前のテキスト ファイルです。

フォルダの名前を見つけるにはどうすればよいですか?

ありがとう

4

2 に答える 2

4

現在のディレクトリのサブディレクトリを一覧表示するだけの場合:

dir /ad /b

別のディレクトリにいる場合は、次のことができます。

dir c:\temp /ad /b

/ad属性「ディレクトリ」を持つすべてのアイテムをリストすることを意味し/b、ベア形式です

アップデート:

Bill が以下にコメントしたように、dir コマンドの出力を反復処理して、環境変数を設定できます。ここでの落とし穴は、複数のサブフォルダーがある場合、どれが「最後」になるか分からないことです。ディレクトリを名前 (/on) で並べ、環境変数 MY_ENV_VAR を最後のサブフォルダの名前に設定する例を次に示します。

for /f "delims=" %%a in ('dir "c:\temp" /on /ad /b') do @set MY_ENV_VAR=%%a

余談ですが、より多くのスクリプト プログラミングを行う場合は、PowerShell の基本に時間を投資することをお勧めします。これにより、より多くのプログラムによる制御が可能になります。

Get-ChildItem | where {$_.PSIsContainer}

しばらくすると、バッチ スクリプトを操作するのがイライラするようになります。

于 2013-03-28T14:32:26.747 に答える
2

これを試して:

for /d /r "C:\temp" %%i in (*.*) do echo %%~i
于 2013-03-28T14:33:30.180 に答える