我需要獲取使用robocopy移動的文件數量。我已經嘗試了很多方法,但我需要的數量完全在robocopy
之後在cmd行中看到,並顯示結果。移動文件的數量robocopy
複製的文件 - X
我怎樣才能得到x
價值? 在此先感謝。
我需要獲取使用robocopy移動的文件數量。我已經嘗試了很多方法,但我需要的數量完全在robocopy
之後在cmd行中看到,並顯示結果。移動文件的數量robocopy
複製的文件 - X
我怎樣才能得到x
價值? 在此先感謝。
robocopy [Whatever Options] | findstr "Copied files"
會讓你下降到最後的報告。
您只需要解析出實際的數字,您可以使用for
循環進行解析。
我會幫你更多的,但是你沒有顯示任何代碼。
當我運行ROBOCOPY,輸出我得到的樣子:
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0 0 0
Files : 12 12 0 0 0 0
Bytes : 49.91 m 49.91 m 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
這是你的報告非常不同,你看到Copied Files - X
。
我覺得這是越來越接近你想要什麼:
setlocal enabledelayedexpansion
for /f "tokens=3 delims=: " %%a in ('robocopy [options] ^| findstr /C:Files ') do (
set num=%%a)
echo Files That Got Copied: %num%
(輕測試,它似乎工作)
如果你想創建一個日誌,那麼你必須使用/log
選項。否則,只要您不使用/njs
選項,就可以看到複製文件的數量。
for /f "tokens=3 skip=1" %%a in (
'robocopy /L . " nothing ..//" ^|findstr /rc:": *[0-9][0-9]* "'
)do echo %%a
對不起,但我仍然不明白。你的代碼返回我echo':'。此外,我還沒有得到robocopy如何在循環中工作。我想用robocopy移動文件(非常簡單),然後在變量中寫入複製文件的數量。這個數字我必須從robocopy的報告中獲得。 Sry沒有代碼。我被迫使用我的智能手機 –
感謝reply.If我得到正確,是可以使用FINDSTR只是在文件中搜索,所以我必須寫與ROBOCOPY的報告日誌文件先,然後試圖找到我的短語在那裏。是對的嗎?你想看哪個代碼?我只是與robocopy串起來。 –
我剛剛在我的機器上運行了Robocopy,它不**包含輸出'複製文件 - X'。您傳遞給robocopy的選項是什麼?你看到了什麼確切的輸出? – abelenky
我也一樣,但用俄語。對不起。所以我需要得到你的情況下的數字12,複製的文件。 Setlocal enabledelayedextantion robocopy [options] | for/f「tokens = 4 delims = .......」%% a in('findstr/I「Files」)do set num = %% a echo!num!我在cmd中看到set num = 12,但實際上它在我以後使用它時不會改變。謝謝。 –