Batch file 进度指示器/“正在加载字符串”

Batch file 进度指示器/“正在加载字符串”,batch-file,loading,batch-processing,progress-indicator,Batch File,Loading,Batch Processing,Progress Indicator,我有一个批处理脚本,其中特定文件夹中所有文件的“名称/修改日期”都写在位于%temp%文件夹的名为“texttoken.txt”的文本文件上。写入所有文件详细信息后,每个文件将根据其“修改日期”自动复制到文件夹中。我注意到的是,当在包含数千个文件的文件夹上使用脚本时,脚本似乎在文件编写时停止工作,而这只是花了太长时间 我想要的是一个进度指示器,比如一个条形图或一个百分比,显示“写作过程”完成了多少。否则,状态字符串“正在加载…”或“正在写入的文件”将与“写入过程”一样长时间运行。如何开始批量实现

我有一个批处理脚本,其中特定文件夹中所有文件的“名称/修改日期”都写在位于%temp%文件夹的名为“texttoken.txt”的文本文件上。写入所有文件详细信息后,每个文件将根据其“修改日期”自动复制到文件夹中。我注意到的是,当在包含数千个文件的文件夹上使用脚本时,脚本似乎在文件编写时停止工作,而这只是花了太长时间


我想要的是一个进度指示器,比如一个条形图或一个百分比,显示“写作过程”完成了多少。否则,状态字符串“正在加载…”或“正在写入的文件”将与“写入过程”一样长时间运行。如何开始批量实现这些功能?

由于文件复制/移动是由robocopy完成的,并且输出没有隐藏,因此我假设您的代码在生成文件列表时似乎停止了

根据您的代码改编

rem获取一个回车到一个变量中 对于“复制%%f0 nul/z”中的/f%%a,请设置CR=%%a 设置微调器=/-\| 为了%%A英寸!sourcedir!\*做 con set/p=正在搜索!微调器:~0,1!!CR! 设置微调器=!纺纱工:~1!!旋转者:~0,1! echo%%~tA%%~xA%%~nA >con echo搜索文件已完成 >>%temp%\testtoken.txt 2>nul 或者,您可以先检索文件夹中的文件数,然后显示百分比指示器

对于“复制%%f0 nul/z”中的/f%%a,请设置CR=%%a 设置numFiles=0 对于/f%%a in'dir/a-d!sourcedir!\*^findstr/b/c:“您要做什么?” 如果%%a全球技术法规!numFiles!设置numFiles=%%a 设置计数=0 设置oldPct=-1 为了%%A英寸!sourcedir!\*做 设置/a计数+=1 设置/a pct=100*计数/numfile 如果PCT全球技术法规!老爹! 设置oldPct=!PCT >反回音处理:!PCTCR!%% echo%%~tA%%~xA%%~nA >con echo搜索文件已完成 >>%temp%\testtoken.txt 2>nul 在这两种情况下,不是为每个正在处理的文件打开/写入/关闭输出文件,而是将整个循环括在括号中并重定向


这只是一个评论。虽然这会让用户了解正在进行的过程,但不需要生成此文件。您正在写入有关文件的信息,然后读取相同的信息。您应该在第一个循环中完成所有处理。

是否可以包含批处理文件?问题不仅在于细节文件的生成,而且在于文件列表的检索。如果我们能看到的话,就更容易发现问题并对代码提出更正、替代方案或附加内容。这是我的脚本片段:谢谢你的回答。只是想知道con命令在这个脚本中到底做了什么?@mindblues,因为完整的for被重定向,如果您只使用echo文本,文本将被发送到输出文件,而不是控制台。>con正在将echo命令的输出重定向到控制台。