批处理文件脚本连接字符串
问题描述:
我想连接批处理文件中的字符串,因为我需要在批处理文件(.bat)中进行参数设置以频繁使用路径。因此,而不是写:批处理文件脚本连接字符串
ren "C:\Folder\Sub Folder\filename.ext.tmp" "C:\Folder\Sub Folder\filename.ext"
del "C:\Folder\Sub Folder\filename.ext.tmp"
我想写点东西像
set pathString="C:\Folder\Sub Folder\"
ren pathString+"filename.ext.tmp" pathString+"filename.ext"
del pathString+"filename.ext.tmp"
这是莫名其妙可行?如果是这样如何?谢谢!
答
你的榜样的命令应该是:
Set "pathString=C:\Folder\Sub Folder"
Ren "%pathString%\filename.ext.tmp" "filename.ext"
有没有需要重命名目标路径,因为它并没有改变,(因此没有必要用%pathString%
加上前缀)。然后,不需要删除刚更名的文件,因为重命名后它不再存在。
答
这是非常基本的批量变量的使用,只记得正确使用引号:
set pathString=C:\Folder\Sub Folder
ren "%pathString%\filename.ext.tmp" "%pathString%\filename.ext"
del "%pathString%\filename.ext.tmp"
话虽这么说,你的示例代码不会使一个很大的意义,因为
- 你试图删除一个不存在的文件,因为您将其重命名为其他内容?
或
- 你认为你需要删除它之前重命名该文件?
删除之前重命名只有在您尝试删除锁定文件并且删除失败可接受时才有意义。这样做会是这个样子:
@echo off
REM Set up some things for this example:
md "%temp%\batchtest"
echo.blah blah > "%temp%\batchtest\filename.ext"
REM Actual code:
set pathString=%temp%\batchtest
ren "%pathString%\filename.ext" "filename.ext.del"
del "%pathString%\filename.ext.del"
我得到的错误是“该命令的语法不正确。” – aragorn