我有一个非常简单的脚本,它将文件夹中的所有.txt文件合并,如下所示:
copy /b *.txt Merged_output.txt >nul
这可以完成工作并且不会打印任何内容,这是可以的(我不希望它打印它合并的每个文件的名称)
但我希望看到脚本仍在运行,直到它结束合并所有.txt文件。 我有很多要合并的文件(8000+),这需要一些时间,我不知道它是否还在运行。
我正在考虑创建另一个具有循环的批处理脚本,它会反复打印此消息:正在运行... 有点吼叫:
@echo off
cls
:start
cls
echo Running...
goto start
我想知道是否可以从循环脚本开始,打印正在运行的消息,并在运行merging.bat脚本并在合并完成后停止它。
非常感谢任何其他建议。
答案 0 :(得分: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
文字。