我正在尝试为项目创建一个批处理文件,该批处理文件读取目录中的文件并为每个文件运行一个命令,该命令以某种方式(从另一个程序)操纵该文件。在运行程序时,它将每个操作文件保存到带有扩展名“ _updated”的输出文件夹中。如何在我的命令中使用批处理文件来执行此操作,而文件的扩展名不会成为文件名的一部分?例如,o / p从“ Videoa.bin”更改为“ Videoa.bin_updated.bin”。我怎样才能解决这个问题?下面的代码!
@ECHO ON
cd [filename]
SET v=output_folder
mkdir %v%
for %%a in ([path to files]*\.bin) do [command, which takes in the following args:
output file name (the one with the _updated ext),
and input folder(+more)]
PAUSE
答案 0 :(得分:0)
我想您正在看这样的内容,以下内容将仅回显新的修改后的文件名。
@echo off
set "input=D:\input_folder\"
SET "output=C:\output_folder\"
mkdir %output% > nul 2>&1
for %%a in ("%input%*.bin") do echo "%%~na_update.%%~xa"
因此,原始文件名将为%%a
,仅文件名将为%%~na
,而扩展名将仅为%%~xa
有关此内容的更多信息,建议您运行帮助以查看有关变量扩展的详细信息。
for /?
对于您提到的其他命令部分,我对此一无所知,因为您没有指定任何细节,因此您需要弄清楚它如何适合上述代码,或者编辑您的问题并显示有关如何手动运行该命令的更多详细信息,以帮助其自动化。