我是批处理的新手,并且已经使用了Python,Java等大约一年了。所以你可以猜到我不知道过多的金额。
我的雇主已经指示我尝试自动执行我们定期执行的某些任务。这可能听起来像一个容易做的愚蠢的任务,但它发生了很多,同时与客户交谈时,它很快就很无聊。任务:重命名多个文件夹...当最终用户忘记密码或需要重置配置文件时,我们会这样做。
我目前的代码是:
:again
@echo off
set /p answer= Rename a file/folder(Y/N)?
if /i "%answer:~,1%" EQU "Y" goto yes
if /i "%answer:~,1%" EQU "N" goto no
goto again
:yes
set /p dirOfFile = Directory of file:
set /p currentFolder = Name of folder to be re-named:
set /p newFolder = What will it be re-named to:
ren %dirOfFile%\%currentFolder% %newFolder%
:no
exit
代码基于一些来源,即其他StackOverflow帖子的Y / N和使用变量以及ren %dirOfFile%\%currentFolder% %newFolder%
或ren
的cmd命令中的rename
。
当我使用时:
ren C:\Users\Zak\Desktop\TestFolder AlsoTest
它将我桌面上的文件夹从TestFolder重命名为AlsoTest。这就是我想要的批处理文件待办事项,但一旦它工作,就在多个文件夹上。
感谢您的帮助!
答案 0 :(得分:1)
您没有参数%dirOfFile%
。但是你有一个名为%dirOfFile<space>%
与其他变量相同。
不用空格编写set
命令:
set variable=value
例如:
set /p dirOfFile=Directory of file:
答案 1 :(得分:0)
简单您可以使用批处理重命名任何文件
在批处理文件中键入以下内容
ren“oldfile.txt”“newfile.txt”