使用文件夹名称和序列号批量重命名文件 - 发送至菜单

时间:2014-02-07 15:58:17

标签: windows batch-file command-line

我有一个名为sales的文件夹。我在该文件夹中有imgxy.jpg,imgab.jpg等。当我右键单击sales文件夹并发送到rename.bat文件时(我已经将rename.bat文件复制到 c:\ documents and settings \ username \ send To )我想要的文件在sales文件夹更改为sales1.jpg,sales2.jpg等。对于我发送到此.bat文件的任何内容,此行为都应该是true。以下代码昨晚在Windows 7上正常运行。现在我是windows xp sp3并且它可以正常工作。它正在尝试重命名文件夹 * c:\ documents and settings \ username *

请帮助下面的rename.bat文件代码

@ECHO OFF
setlocal enabledelayedexpansion
set foldername=%1
for %%i in (%bar%) do set bar=%%~ni
FOR /D  %%# in (%bar%) DO (
PUSHD "%%#"
FOR %%@ in ("*") DO (
    set /a "inc+=1"
    Echo Ren: ".\%%~n#\%%@" "%%~n#!inc!%%~x@"
    Ren "%%@" "%%~n#!inc!%%~x@"
)
POPD
)

1 个答案:

答案 0 :(得分:0)

测试一下 - 它接受一个文件夹,而不是文件,但你提​​到了问题中的文件夹。

请勿将其称为rename.bat,因为rename是内部命令。

@ECHO OFF
setlocal enabledelayedexpansion
PUSHD "%~1"
set inc=0
FOR /f "delims=" %%a in ('dir /b /a-d') DO (
    set /a inc+=1
    Echo Ren: "%%a" "%~n1!inc!%%~xa"
    Ren "%%a" "%~n1!inc!%%~xa"
)
POPD