2017-03-08 40 views
1

我有一個非常簡單的腳本,合併文件夾中的所有.txt文件,波紋管:批處理腳本 - 退出循環的時候又一批已經完成

copy /b *.txt Merged_output.txt >nul 

這做這項工作,並且不打印任何和這是好的(我不希望它打印它合併的每個文件的名稱)

但我希望看到該腳本仍在運行,直到它結束所有.txt文件合併。 我有很多o文件合併(8000+),這需要一些時間,我不知道它是否仍然運行。

我想創建具有循環另一個批處理腳本,即打印一遍又一遍這條消息:正在運行... 東西波紋管:

@echo off 
cls 
:start 
cls 
echo Running... 
goto start 

我想知道是否有可能啓動從循環腳本中,打印正在運行的消息,並在運行merging.bat腳本並在合併完成後停止。

任何其他建議將不勝感激。

+0

這不是一個重複的問題?你有沒有看到這個?: http://stackoverflow.com/questions/22165412/check-if-another-batch-file-is-still-running –

回答

2

您不需要另一個批處理文件。代替隱藏輸出的,掩蓋它

@echo off 
    setlocal enableextensions disabledelayedexpansion 

    set monitor=cmd /q /v /e /c"for /l %%a in() do set/p.=&&echo !time! working || exit" 

    copy /b *.txt merged_output | %monitor% 
    echo %time% done 

它只是copy命令的輸出管到一個單獨的cmd實例迴路讀取每一行,並打印當前時間和working字面。