我想要求用户输入一次,让它找到该文件夹,然后在找到它时将其重命名。无论我做什么我都会收到语法错误
@ECHO off
cls
set /P FOLDER="What the Folder Name: "
rename "%userprofile%\Downloads\"%FOLDER%"" "%userprofile%\Downloads\"%FOLDER%" - %date:/=-%"
pause
cls
goto start
输出:
What the Folder Name: folder
The syntax of the command is incorrect.
Press any key to continue . . .
运行ren /?
或rename /?
状态:
RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.
换句话说,我只希望将新名称作为第二个参数。这将因语法错误而失败:
ren "D:\My Folders\Old name" "D:\My Folders\New name"
这将执行重命名的位置:
ren D:\My Folders\Old name" "New Name"
此外,您不需要有趣的报价。您只需要将整个字符串加引号一次,以确保cmd
不会将空格视为命令/参数分隔符。因此,此代码应执行您想要的操作:
@echo off & cls
set /p "FOLDER=What the Folder Name: "
rename "%userprofile%\Downloads\%FOLDER%" "%FOLDER%" - %date:/=-%"
pause
cls
goto start
这么说,您提到的是动态的。这里没有什么是动态的。这是对用户的所有静态请求,希望得到有效结果的答案。因此,您确实可以使此过程更具动态性,但是只有在我对您的要求有更多详细信息的情况下,我才能提供帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句