0

我正在尝试编写一个脚本,它将获取特定目录中的所有 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

谢谢!!

4

1 回答 1

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 /? 最后一页是修饰符列表。

于 2013-11-08T02:57:44.743 回答