2013-10-14 218 views

回答

1
for /f "delims=" %%a in ('dir /b /a-d /s') do (
    set "fname=%%~nxa" 
    set "fpath=%%~dpa" 
    setlocal enabledelayedexpansion 
    set "nname=!fname:~15!" 
    ren "!fpath!!fname!" "!nname!" 
    endlocal 
) 

这是保存感叹号的安全方法。

+0

这不是为我工作的兄弟......没有运行文件 – Nilesh12

+1

它的工作之后发生的事情,但它重命名本身,如果它是在同一个文件夹树。像以前的重命名解决方案一样,将'pushd“c:\ myfolder \”'(将其中的主文件夹)添加到顶部,并从另一个文件夹启动它。 – foxidrive

+0

非常好的工作.........非常感谢你 – Nilesh12

-1

如果您使用的是Windows 7,你可以试试这个:

forfiles /s /c "cmd /c ren @file @fname" 

我花了一些时间来寻找,但我突然意识到,批处理文件是行不通的,因为它已经改名! 。

如果这成为一个问题,你可以尝试命名批处理文件zzzzzzzzz.bat,我认为这会阻止它首先重命名。

蒙娜丽莎

+0

它仍然会被重命名,因为它在顶层文件夹中。它不会删除前缀,并且不处理文件夹中的文件,并且会重命名文件夹名称。除了所有这一切都很好。 ;) – foxidrive

+0

对于重命名文件夹非常有用,但不适用于从当前目录和子目录中删除所有文件的前缀 – Nilesh12

+0

我有阅读和回答此用户的上一篇文章的好处,其中任务是为所有文件添加前缀树。现在他想删除该前缀。 – foxidrive

相关问题