使用批处理脚本在循环中重命名文件夹

时间:2013-11-08 00:25:15

标签: windows batch-file cmd

我正在尝试编写一个脚本,它将获取特定目录中的所有mt .avi文件,在每个文件之后重命名该目录,并在循环中调用另一个脚本: (目录的名称是输入)

cd /D %1
dir *.avi > avi.list
set x=%1
set z=%1
cd ..
    FOR /F "tokens=1-5" %G IN (avi.list) DO (
    @set y=%K
    rename %x% %y%
    set x=%y%
    C:\indexer\Indexer.exe %y%
    )
rename %y% %z%
cd /D %z%
del avi.list

谢谢!

1 个答案:

答案 0 :(得分:0)

%G和%K都需要在批处理文件中为%% G和%% K.

如果文件名包含空格或其他尴尬字符,您还需要双引号。

有更好的方法来获取文件名和路径(仅添加文件名):试试这个

@echo off
cd /d "%~1"
   for /f "delims=" %%a in (' dir *.avi /b /a-d ') do (
      echo filename without extension is "%%~na"
      echo name is "%%~nxa"
      echo filepath is "%%~dpa"
      pause
   )

在cmd提示下,请阅读以下帮助: FOR /?,最后一页是修饰符列表。