我想在批处理文件中连接字符串,因为我需要在批处理文件(.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"
这有点可行吗?如果是这样的话?谢谢!
答案 0 :(得分:0)
这是非常基本的批量变量用法,只需记住正确使用引号:
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"
答案 1 :(得分:0)
您的示例命令应为:
X Y
-----
1 1
1 3
3 1
3 3
重命名目的地没有路径,因为它没有改变,(因此无需在Set "pathString=C:\Folder\Sub Folder"
Ren "%pathString%\filename.ext.tmp" "filename.ext"
前加上)。然后,您无需删除刚刚重命名的文件,因为重命名后该文件不再存在。