Ull*_*las 6 windows powershell
在一个目录中,我有一些.jpg文件。
文件名是从1.jpgto开始的整数150.jpg。
我想1从每个文件名中减去。
因此,文件名会0.jpg到149.jpg。
我知道如何使用PowerShell.
我怎样才能做到这一点Powershell?
以下是Powershell我尝试过的脚本。
Powershell 脚本
gci *.jpg | rename-item -newname {[integer]($_.name -replace ".JPG", "")-1}
Run Code Online (Sandbox Code Playgroud)
和:
gci *.JPG | rename-item -newname { (([convert]::ToInt32($_.name, 10)) - 1) + ".JPG"}
Run Code Online (Sandbox Code Playgroud)
Dav*_*ill 10
使用以下 PowerShell 命令:
dir *.jpg | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(20) }) } | foreach-object -begin { $count=0 } -process { rename-item $_ -NewName "$count.jpg"; $count++ }
Run Code Online (Sandbox Code Playgroud)
笔记:
$count=0从 开始计数0。$_表示通过配管传递到重命名项命令的每个项目|从dir命令。foreach-object允许您$count在循环遍历目录中的每个文件(匹配)之前设置变量 ( ) *.jpg,然后rename-item对每个匹配项执行操作 ( )。要dir以“自然”排序顺序对输出进行排序,我们使用:
Sort-Object { [regex]::Replace($_.Name, '\d+', { args[0].Value.PadLeft(20) }) }
Run Code Online (Sandbox Code Playgroud)例子:
PS F:\test> dir *.jpg
Directory: F:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 01/04/2016 19:39 54 1.jpg
-a--- 01/04/2016 19:39 54 10.jpg
-a--- 01/04/2016 19:39 52 11.jpg
-a--- 01/04/2016 19:39 54 2.jpg
-a--- 01/04/2016 19:39 54 3.jpg
-a--- 01/04/2016 19:35 52 4.jpg
-a--- 01/04/2016 19:35 52 5.jpg
-a--- 01/04/2016 19:39 51 6.jpg
-a--- 01/04/2016 19:39 51 7.jpg
-a--- 01/04/2016 19:39 54 8.jpg
-a--- 01/04/2016 19:39 52 9.jpg
PS F:\test> dir *.jpg | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(20) }) } | foreach-object -begin { $count=0 } -process { rename-item $_ -NewName "$count.jpg"; $count++}
PS F:\test> dir *.jpg
Directory: F:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 01/04/2016 19:39 54 0.jpg
-a--- 01/04/2016 19:39 54 1.jpg
-a--- 01/04/2016 19:39 52 10.jpg
-a--- 01/04/2016 19:39 54 2.jpg
-a--- 01/04/2016 19:35 52 3.jpg
-a--- 01/04/2016 19:35 52 4.jpg
-a--- 01/04/2016 19:39 51 5.jpg
-a--- 01/04/2016 19:39 51 6.jpg
-a--- 01/04/2016 19:39 54 7.jpg
-a--- 01/04/2016 19:39 52 8.jpg
-a--- 01/04/2016 19:39 54 9.jpg
PS F:\test>
Run Code Online (Sandbox Code Playgroud)
来源:使用 Windows PowerShell 重命名批处理文件。脚本已经过调整以符合问题的要求。
来源:如何以与 Windows 资源管理器相同的方式按文件名排序?由Roman Kuzmin回答自然排序。
| 归档时间: |
|
| 查看次数: |
2353 次 |
| 最近记录: |