使用接收到的文件名作为批处理文件中 exe 的参数
Use a received file name as a parameter for an exe in a batch file
我在不同的子目录中有很多 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 )
感谢任何帮助!
更新
我弄清楚了,并为我的目的写了一个批处理文件。
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。
感谢您的提示!
我在不同的子目录中有很多 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 )
感谢任何帮助!
更新
我弄清楚了,并为我的目的写了一个批处理文件。
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。
感谢您的提示!