2017-02-09 7 views
0

私は1つのディレクトリ( "FORBIDDEN"という名前)以外のすべてのディレクトリを調べ、それらに含まれるすべてのファイルをそれぞれ印刷する必要があります。バッチでは、特定のディレクトリのファイルをリストする方法は?

だから私はこのようにバッチスクリプトを書いた:

@echo off 
for /f "tokens=*" %%G in ('dir /b /s /a:d %cd%') do^
if %%G NEQ C:\Users\ME\FORBIDDEN (dir /a-d %%G) 

しかし、私はファイルが見つからなかったことを言って若干の誤差が出るため、一部(dir /a-d %%G)は良くありません。

したがって、ループの各ラウンドでは、ディレクトリにあるすべてのファイル(パスが%%G)をリストする方法はありますか?

乾杯フォルダごとに

答えて

1
for /d /r %%d in (*) do if not "%%~nxd"=="FORBIDDEN" 2>nul dir /a-d "%%d" 

それは除外いずれでもない場合、

が唯一の完全なパス

を持つファイルを含めるようにコメント

に適応するを編集し、その内容を示して

for /d /r %%d in (*) do if not "%%~nxd"=="FORBIDDEN" (
    for %%f in ("%%~fd") do echo "%%~ff" 
) 

もう1つオプション(また、現在のフォルダ内のファイルが含まれていること)だけで、それはよさそうだが、どのように除外フォルダ

+0

への参照を作成していない行を取得するには、

dir /a-d /s /b | find /v "\FORBIDDEN\" 

完全なリストを取得し、それをフィルタリングすることができあなたはそのファイルだけを表示したいのですか? (そして他のdirのコメントではない)、申し訳ありませんでした。 – juRioqs75

+0

@ juRioqs75、答えが更新されました。 –

関連する問題