2016-05-20 5 views
0

プログラムの場所から実行するコマンドを書き込もうとしています。プログラムは、ユーザーにフォルダを入力するように要求します。フォルダが見つかると、そのサブフォルダにディレクトリのリストが必要です。以下は私のコードは、これまでのところです:すべてのサブフォルダパスを一覧表示するバッチファイル

C:\Users\IT\test\pany\all 
C:\Users\IT\test\ondy\part\clear 
C:\Users\IT\pany\test\check\apps 
C:\Users\IT\pand\all\check\test 

これまでのところ私のコードはどこ」までのディレクトリを返します。

ECHO OFF 
ECHO Enter name for your target search folder 
SET /P searchf=[Please type desired search forder] 
for /d %%a in ("%searchf%".) do dir /ad /on /s /b "%%a" >> %searchf%.txt 
GOTO End 
:End 

ターゲットフォルダが「test」と呼ばれていると仮定すると、私はこのような結果を持つようにしたいですテスト "が見つかりました。 JosefZが指摘したように

+1

http://ss64.com/nt/for_d.htmlおよびhttp://ss64.com/nt/syntax-wildcards.htmlを参照してください。 – JosefZ

+1

質問がありますか? – aschipfl

+0

はい、私はまだそれを解決していません。コードにはファイルパスがリストされ、フォルダとサブフォルダのパスのみが必要です。誰かが助けてくれますか? – Jay

答えて

1

、ワイルドカードが役立ちます:

ECHO OFF 
ECHO Enter name for your target search folder 
SET /P searchf=[Please type desired search forder] 
dir /ad /on /s /b "*%searchf%*" 

をのみ1つの検索語があるので、あなたはループのためには必要ありません。

私は難しいと思ったので、最初に固定ファイル名に変更しました。画面上にディレクトリのリストを表示すると、直接dir出力を使用することができます。

+0

未定義の '%% a'の代わりに'%sarchf% 'を使いたくありませんか? – Stephan

+0

@Stephanあなたにはポイントが固定されています –

関連する問題