我在不同的子目录中有很多xml文件,并希望将xml文件编码为base64并将每个编码的blob保存在txt中。我使用Windows .NET Framework Base64转换器使用以下命令对单个文件进行编码: base64Converter.exe / e myinputfile.xml mybase64outputfile.txt
这适用于单个文件,但我必须编码148个文件。所以我想用批处理文件来做这件事。我是批处理人员的新手,需要一些帮助。
我现在想到的是:
FOR /r %%d IN (*.xml) DO (
SET XML=%%d
echo %XML%
)
FOR /r %%r IN (*.xml) DO (
START "" "Patch to base64Converter.exe" /e %XML% out.txt
)
PAUSE
我想将第一个循环中的文件名写入变量,并将此变量处理为base64Converter.exe。但是我的var'XML'存储了绝对路径。我该怎么做才能在正确的目录中提供base64Converter.exe的文件名?或者括号中是否存在语法错误?是否也可以覆盖我的xml文件并将base64 blob保存在文件中?
我的输出:
C:\Users\myUser\Desktop\mydirectory>(START "" "c:\Users\myUser\Desktop\mydirectory\b64c.exe" /e C:\Users\myUser\Desktop\mydirectory\MyData\ViewBase\panelManager.LayoutStream.xml out.txt )
我感谢任何帮助!
答案 0 :(得分:0)
更新
我想出来并为我的目的写了一个批处理文件。
FOR /R %%d IN (*.xml) DO (
REM create an empty txt with the same filename
echo. 2>%%~pd%%~nd.txt
REM Execute b64c.exe with parameters
START "" /B "%PATH%\b64c.exe" /e "%%~fd" "%%~pd%%~nd.txt"
)
我使用FOR循环的参数来获取完整路径并将它们传递给base64Converter。
感谢您的提示!