[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. foreach($i in dir 文件夹2){[array]$a+=$i.name}
  2. foreach($i in dir 文件夹1){[array]$b+=$i.fullname}
  3. for($i=0;$i -le $a.count-1;$i++){ren $b[$i] $a[$i]}
复制代码

TOP

  1. foreach($i in dir 文件夹2){[array]$a+=$i.name}
  2. foreach($i in dir 文件夹1){[array]$b+=$i.fullname}
  3. for($i=0;$i -le $a.count-1;$i++){ren $b[$i] "$("$($a[$i] -replace '\..*$','')"+"$($b[$i] -replace '^.*(\..*)$','$1')")"}
复制代码
1

评分人数

    • 5i365: 感谢,牛x技术 + 1

TOP

回复 6# WHY


    排序还能这么用学到了

TOP

受why启发的方法
  1. foreach($i in dir 文件夹2|sort{"{0:00000000000}" -f [int]($_.name -replace '\D(\d+).*','$1')}){[array]$a+=$i.name}
  2. foreach($i in dir 文件夹1|sort{"{0:00000000000}" -f [int]($_.name -replace '\D(\d+).*','$1')}){[array]$b+=$i.fullname}
  3. for($i=0;$i -le $a.count-1;$i++){ren $b[$i] "$("$($a[$i] -replace '\..*$','')"+"$($b[$i] -replace '^.*(\..*)$','$1')")"}
复制代码
1

评分人数

    • 5i365: 牛X 感谢技术 + 1

TOP

回复 9# 5i365

用0填充数字变成像000010 000011 000100之后再排序
  1. foreach($i in dir 文件夹2|?{$_.attributes -notlike "*directory*"}|sort{"{0:00000000000}" -f [int]($_.name -replace '.*?(\d+).*','$1')}){[array]$a+=$i.name}
  2. foreach($i in dir 文件夹1|?{$_.attributes -notlike "*directory*"}|sort{"{0:00000000000}" -f [int]($_.name -replace '.*?(\d+).*','$1')}){[array]$b+=$i.fullname}
  3. for($i=0;$i -le $a.count-1;$i++){ren $b[$i] "$("$($a[$i] -replace '\..*$','')"+"$($b[$i] -replace '^.*(\..*)$','$1')")"}
复制代码

TOP

返回列表