好友
阅读权限25
听众
最后登录1970-1-1
|
本帖最后由 renjianbuchai 于 2021-3-13 10:29 编辑
有很多个文件夹 \照片\6941255190129\海报 批处理 更改二级目录里面的图片 名称 按我需要的要求。
根据照片创建时间 批量更改为海报_1 、海报_2根据照片创建时间 批量更改为详情图_1 、详情图_2复制过来的照片 名分2种.
1类 海报图
202072713148223AC85F65E6F7BAA763C5D63DEC4F62A91.jpg
2020727131411757E02115FF1676419284D12DC845E467DE.jpg
2类 详情图 6375079349622013191246769.jpg
6375079350084547769765649.jpg
每一个数字文件夹下都包含一个"详情图"文件夹和一个"海报"文件夹2,举例,
海报文件夹 - 里面的图片根据(--创建时间--这个很重要)先后最开始的为 海报_1.海报_2依照时间来改名 ‘详情图 里面 改名 雷同 ’根据(--创建时间--这个很重要)先后最开始的为 详情图_1.详情图_2
求大神帮忙写个批处理, 谢谢啦
我有一个批处理, 但是 写这个批处理的人下了套。 现在用不了 了。,我不知道怎么修改。
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行
<# :
cls
@echo off
rem 将多个文件夹下两个指定名称的子文件夹里的文件安照创建时间先后顺序以所在文件夹和递增的数字序号重命名
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$findfolder=@("详情图", "海报");
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$folders=@(dir -liter $path -recurse|?{($findfolder -contains $_.Name) -and ($_ -is [System.IO.DirectoryInfo])});
for($i=0;$i -lt $folders.length;$i++){
$files=@(dir -liter $folders[$i].FullName|?{$_ -is [System.IO.FileInfo]}|sort {$_.CreationTime});
for($j=0;$j -lt $files.length;$j++){
$ct=$files[$j].CreationTime.toString('yyyy-MM-dd HH:mmm:ss');
$newname=$folders[$i].Name+'_'+($j+1).toString()+$files[$j].Extension;
$newfile=$files[$j].Directory.FullName+'\'+$newname;
write-host ('['+$ct+']'+$files[$j].FullName+' --> '+$newname);
move-item $files[$j].FullName $newfile;
};
} |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|