我正在使用批处理程序,程序从文本文件中读取根目录,并计算所有根目录中文件夹和文件的总数。该程序正在运行,但我想以某种方式显示输出。
这就是我想要显示输出的方式
0:OF:6
每次程序在一个根目录中完成计数时,第一个值应该更改。我已经为它编写了代码,但我得到的输出就是这个。
以下是我为改变它而编写的代码。
:textUpdate
echo !counter! : OF : %number%
GOTO :EOF
其中计数器是根目录的当前数量,数字是在文本文件中找到的目录总数。有没有办法像第一个那样显示输出。
答案 0 :(得分:1)
您可以滥用set /p
来写入屏幕。它不会附加换行符。您还需要回车符返回到行的开头以覆盖旧输出:
@echo off
setlocal EnableDelayedExpansion
for /f %%a in ('copy /Z "%~dpf0" nul') do set "CR=%%a"
for /l %%n in (1,1,6) do (
set /P "=Count %%n of 6!CR!" <nul
timeout 1 >nul
)
第一个for /f
循环只是获得CR
(回车)。您必须使用延迟扩展才能使用它(%CR%
不起作用。)