[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
好久没有写过了,
PS 3.0 以上,否则勿试。
  1. function Rename-File {
  2. param([string]$dir, [string]$base, [string]$ext,
  3. [string]$bn = '', [uint16]$n = 0);
  4. if ([IO.File]::Exists("$dir\$($base+$bn+$ext)")) {
  5. $bn = ' (' + ++$n + ')';
  6. return  Rename-File -dir $dir -base $base -bn $bn -ext $ext -n $n;
  7. }
  8. return $base + $bn;
  9. }
  10. ls 'D:\photos\*' -Include '*.jpg', '*.png' -file | % {
  11. $f_str = $_.BaseName.Substring(0, 1);
  12. $dir = "$pwd\images\$f_str";
  13. if (![IO.Directory]::Exists($dir)) { md $dir | Out-Null }
  14. $base = Rename-File -dir $dir -base $_.BaseName -ext $_.Extension;
  15. cp $_.FullName -dest "$dir\$($base+$_.Extension)" -Verbose;
  16.         # cp 改为 move 则移动文件。
  17. }
  18. Pause
复制代码
1

评分人数

QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

返回列表