2017-12-14 5 views
0

START.BATどのように複数のディレクトリ検索

@echo off 
CALL bat.bat "C:\Users\admin\Documents\test 2,C:\Users\admin\Documents\test 1" "*.xml *.txt *.html" "D:\Work\bat\batLog.txt" 

bat.bat

for %%G in (%1) do (
echo %%~G 
    pushd "%%G" 
    If Exist "%%G" ( 
    for /R %%H in ("%2") do ( 
if %%~zH LSS %3 (
>>"%4" (
     echo %%~H 
     echo %%~tH 
for /f "tokens=* delims=," %%i in ('type "%%~H"') do (
echo %%i 
))) popd))) 

pause 
exit/b 

は、なぜそれが次のディレクトリに移動しないのですか?エコーのみテスト2

+0

は、私は非常にあなたがあなたの 'bat.bat'コードを達成して更新しようとしているかについての詳細な説明を提供することを助言します他のコマンドライン引数がどのように使われているかを見ることができます。 – Squashman

+0

@Squashman done – Vaaassaa

+0

コマンドライン引数%3がありません。 'PUSHD'は' IF EXIST'の後に置かなければなりません。コマンドライン引数が引用符で囲まれているので、チルダを使って引用符を取り除くべきです。 '%〜2'。そして、あなたは '%2'の周りに引用符を必要としません。 – Squashman

答えて

1

これは新しいコードを使用して完全に書き直されました。これは、あなたがしたいことに近づくはずです。うまくいけば、私はあなたのプログラムで他のすべてのエラーを修正しました。私は意図的にコードをインデントして、コードブロックの開始位置と終了位置を確認できます。コードがどのように機能しているかを見て理解するのがずっと簡単です。

START.BAT

@echo off 
call bat.bat "C:\Users\admin\Documents\test 2,C:\Users\admin\Documents\test 1" "*.xml *.txt *.html" "20000" "D:\Work\bat\batLog.txt" 

bat.bat

@echo off 
REM %1 = List of Folders 
REM %2 = List of file masks 
REM %3 = File Size for comparison 
REM %4 = Log File 

set "folders=%1" 
set "folders=%folders:,=","%" 

for %%G in (%folders%) do (
    echo %%~G 
    If Exist "%%~G" ( 
     pushd "%%~G" 
     for /R %%H in (%~2) do ( 
      if %%~zH LSS %~3 (
       >>"%~4" (
        echo %%~H 
        echo %%~tH 
        for /f "tokens=* delims=," %%I in ('type "%%~H"') do (
         echo %%~I 
        ) 
       ) 
      ) 
     ) 
     popd 
    ) 
) 

pause 
exit/b 
+0

事実、パスの後には、作業に必要なさらに多くのパラメータが渡されます。ディレクトリは必ずしも2つではない場合もあります。 "C:\ Users \ admin \ Documents \ test 2、C:\ Users \ admin \ Documents \ test 1" "* .xml * .txt * .html" "D:\ Work \ bat \ batLog.txt " – Vaaassaa

+0

@Vaaassaa、あなたの質問に答えました。あなたは一般化された質問をすることはできませんし、あなたがそれに投げるもののために働く答えを期待してください。あなたの質問を編集し、必要なEXACT技術仕様で更新してください! – Squashman

+0

ok ty しかし、それは私が必要なものではありません、soryy – Vaaassaa

関連する問題