21

私は検索して無駄に検索したので、答えが存在する場合はお詫び申し上げます。

私はバッチファイルがあまり得意ではないので、これを覚えておいてください。

私が求めているのは、現在のフォルダー内のフォルダーのリストをファイルするためにリスト/保存する単一のバッチファイルです。

したがって、基本的に、このバッチファイルを特定のフォルダー内で実行すると、バッチファイルが実行されたフォルダー内のすべてのフォルダー(ファイルやサブフォルダーではなく、1つのレベルのみ)が出力されます。

これはおそらく簡単なリクエストだと思いますが、Googleなどでは運がありませんでした。

4

3 に答える 3

60

監督

コマンドを使用しdirます。dir /?ヘルプとオプションを入力してください。

dir /a:d /b

リダイレクト

次に、リダイレクトを使用してリストをファイルに保存します。

> list.txt

一緒

dir /a:d /b > list.txt

これにより、ディレクトリの名前だけが出力されます。ディレクトリのフルパスが必要な場合は、以下を使用してください。


フルパス

for /f "delims=" %%D in ('dir /a:d /b') do echo %%~fD

forコマンドを使用するだけの他の方法。for /?ヘルプとオプションについてはを参照してください。名前%%~nxDまたはフルパスのみを出力できます%%~fD

for /d %%D in (*) do echo %%~fD

ノート

これらのコマンドをコマンドラインで直接使用するには、二重パーセント記号を単一パーセント記号に変更します。%%%

メソッドをリダイレクトするforには、echoステートメントの後にリダイレクトを追加するだけです。ここで二重矢印>>リダイレクトを使用してファイルに追加します。そうしないと、他のすべてが上書きされるため、最後のステートメントのみがファイルに書き込まれます。

... echo %%~fD>> list.txt
于 2013-01-26T14:49:33.163 に答える
1

バッチスクリプトファイルが保存されているすべてのフォルダ名を印刷します

for /d %%d in (*.*) do (
    set test=%%d
    echo !test!
)
pause
于 2014-07-21T08:19:23.233 に答える
0

このコマンドを試して、ディレクトリ内のファイルのリストを表示しました。

dir /s /b > List.txt

ファイルには、以下のリストが表示されます。

C:\ Program Files(x86)\ Cisco Systems \ Cisco Jabber \ XmppMgr.dll

C:\ Program Files(x86)\ Cisco Systems \ Cisco Jabber \ XmppSDK.dll

C:\ Program Files(x86)\ Cisco Systems \ Cisco Jabber \ Accessories \ Plantronics

C:\ Program Files(x86)\ Cisco Systems \ Cisco Jabber \ Accessories \ SennheiserJabberPlugin.dll

C:\ Program Files(x86)\ Cisco Systems \ Cisco Jabber \ Accessories \ Logitech \ LogiUCPluginForCisco

C:\ Program Files(x86)\ Cisco Systems \ Cisco Jabber \ Accessories \ Logitech \ LogiUCPluginForCisco \ lucpcisco.dll

やりたいことは、完全なディレクトリパスではなく、サブディレクトリを表示することだけです。

ちょうどこのような:

Cisco Jabber \ XmppMgr.dll Cisco Jabber \ XmppSDK.dll

Cisco Jabber \ Accessories \ JabraJabberPlugin.dll

Cisco Jabber \ Accessories \ Logitech

Cisco Jabber \ Accessories \ Plantronics

Cisco Jabber \ Accessories \ SennheiserJabberPlugin.dll

于 2016-07-13T06:02:28.470 に答える