由於文件複製/移動由ROBOCOPY完成,輸出不會隱藏,我會假設你的代碼似乎停止生成從代碼改編文件
的列表時
rem Get a carriage return into a variable
for /f %%a in ('copy "%~f0" nul /z') do set "CR=%%a"
set "spinner=/-\|"
(
for %%A in ("!sourcedir!\*") do (
<nul >con set /p"=Searching !spinner:~0,1!!CR!"
set "spinner=!spinner:~1!!spinner:~0,1!"
echo %%~tA %%~xA %%~nA
)
>con echo Searching files done
)>>"%temp%\testtoken.txt" 2>nul
或者你可以先檢索文件夾中文件的數量,然後顯示一個百分比指標
for /f %%a in ('copy "%~f0" nul /z') do set "CR=%%a"
set "numFiles=0"
for /f %%a in ('dir /a-d "!sourcedir!\*" ^| findstr /b /c:" "') do (
if %%a gtr !numFiles! set "numFiles=%%a"
)
set "count=0"
set "oldPct=-1"
(
for %%A in ("!sourcedir!\*") do (
set /a "count+=1"
set /a "pct=100*count/numFiles"
if !pct! gtr !oldPct! (
set "oldPct=!pct!"
>con echo Processed: !pct!!CR!%%
)
echo %%~tA %%~xA %%~nA
)
>con echo Searching files done
)>>"%temp%\testtoken.txt" 2>nul
在這兩種情況下,而不是打開/寫入/關閉輸出文件f或每個文件正在處理,完整的循環被括在括號中並被重定向。
這只是一條評論。雖然這將使用戶瞭解正在完成的過程,但不需要此文件生成。您正在編寫有關這些文件的信息,並在稍後閱讀相同的信息。你應該在第一個循環中完成所有的處理。
你可以包含你的批處理文件嗎?這個問題不僅可以在詳細文件生成中,而且可以在文件列表檢索中進行。如果我們可以看到它,則更容易檢測到問題並提出修正,替代方案或插件。 – 2015-03-31 08:25:28
這是我的腳本的一個片段:[鏈接](http://pastebin.com/m7KAWwUx) – mindblues 2015-04-06 23:41:16