使用批处理重命名文件

时间:2014-08-26 16:11:56

标签: windows batch-file directory

我是批处理的新手,并且已经使用了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。这就是我想要的批处理文件待办事项,但一旦它工作,就在多个文件夹上。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您没有参数%dirOfFile%。但是你有一个名为%dirOfFile<space>%

的参数

与其他变量相同。

不用空格编写set命令:

set variable=value

例如:

set /p dirOfFile=Directory of file:

答案 1 :(得分:0)

简单您可以使用批处理重命名任何文件

在批处理文件中键入以下内容

ren“oldfile.txt”“newfile.txt”