作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想遍历一个文件夹及其所有子文件夹,保留当前文件的计数器变量并将其重命名为 $counter$ExistingFileName。
例如。
$count = 1;
foreach $file in $folder
{
$file.name = $count + $file.name;
$count++;
}
能回答这个问题的人就是我的英雄! :)
顺便说一句,我正在使用 Windows 7。
最佳答案
好吧,当你在思考我对你帖子的评论中的问题时(或者你可能还在回到这个网站阅读它们),这是我的试拍:
@ECHO OFF
SET "rootdir=%~1"
IF "%rootdir%"=="" SET rootdir=.
SET cnt=0
FOR /R "%rootdir%" %%f IN (*) DO (
SET /A cnt+=1
SETLOCAL EnableDelayedExpansion
RENAME "%%f" "!cnt!%%~nxf"
ENDLOCAL
)
这将通过简单地在名称前加上数字来重命名您的文件,如下所示:
1file.txt
2program.exe
...
如果你喜欢,你可以这样做:
00001file.txt
00002program.exe
为此,您需要对上述脚本进行两处更改(以粗体突出显示):
@ECHO OFF
SET "rootdir=%~1"
IF "%rootdir%"=="" SET rootdir=.
SET <b>cnt=10000</b>
FOR /R "%rootdir%" %%f IN (*) DO (
SET /A cnt+=1
SETLOCAL EnableDelayedExpansion
RENAME "%%f" "<b>!cnt:~1!</b>%%~nxf"
ENDLOCAL
)
关于file - 批量遍历子文件夹并重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5840450/
我是一名优秀的程序员,十分优秀!