批量循环遍历所有文件和子文件夹

Batch Loop Through All Files And Subfolders

所以我正在处理多个批处理程序,我需要知道如何遍历所有文件,包括子文件夹中的文件。但是,我无法这样做。其中一个需要这个的程序是使用命令 "certutil -encode",它对该文件夹和子文件夹中的所有文件进行编码,并使用命令 "certutil -decode" 解码,这是我到目前为止得到的代码(这段代码是在一个循环中):

set file=C:\Extras\Encode\*.txt
certutil -encode C:\Extras\Encode\*.txt C:\Extras\Encoded\*.b64

但是这不起作用,因为它只循环 C:\Extras\Encode 但不测试 C:\Extras\Encode\Subfolder\ 等子文件夹中的那些,所以我该怎么办做什么?

编辑:我知道输出为 C:\Extras\Encoded*.hex 的第二部分是错误的。

一般来说,

for /f "delims=" %%a in ('dir /s /b "C:\extras\encode\*.txt"') do echo %%a

应该为每个文件名提供 %%a 匹配子树中的掩码。您可以根据需要将修改后的引用 %%~da %%~pa %%~na %%~xa %%~dpnxa 用于驱动器、路径、名称、扩展名或所有组合。

具体情况因应用而异。