2011-10-26 22 views
1

私はカレントディレクトリのすべてのフォルダに何かをすることができるバッチファイルを作成したいと思います。しかし、私はこの構文を使用してそれを見つけたすべてのスーパー隠しファイル/ディレクトリを読み取るwindowsバッチファイル

for /d %%i in (*) do echo %%i 

それは隠しファイルを見つけることができません。 追加の構文を追加する必要がありますか?

答えて

1

FOR /Dの動作を修正するために何かができるかどうかはわかりませんが、別の方法を使用することもできます。 FOR /FループでDIRの出力を使用することができます。

今すぐDIRコマンドは引数を受け取ります。これにより、必要な出力を得ることができます。特にDIRには、非表示のディレクトリ名(/ADH)のみを表示し、日付&の時刻と要約(/B)などの情報は必要ありません。詳細については、コマンドプロンプトでDIR /?またはHELP DIRを実行してください。

だから、あなたのループは次のようになります。最初のスペースまでを読みとは対照的に、FOR /Fループの

FOR /F "delims=" %%D IN ('DIR /ADH /B') DO ECHO %%D 

delimsオプションは、DIR出力の行全体を消費するループを指示し、そのデフォルトの動作です。コマンドプロンプトでFORのヘルプを呼び出すと、FOR /?またはHELP FORというメッセージが表示されます。

+0

「DIR出力の全ラインを消費する」とはどういう意味ですか? – Fugogugo

+0

@Fugogugo:オプションに '' delims = "'を指定せず、出力に 'Program Files'のような名前がある場合、' %% D'変数は 'Program'の代わりに' Program'だけ割り当てられますデフォルトでは行は最初の空白文字まで読み込まれます。 '" delims = "'を指定すると、行全体が読み込まれます。代わりに '' delims = "'の代わりに '' tokens = * "'を使っても同じ効果を得ることができます。 –

関連する問題