命令行(或批处理文件)重命名文件夹中的所有文件(Windows)

Mar*_*naL 0 windows command cmd batch-file batch-rename

我需要使用以下文件名格式重命名文件夹中的所有文件;

ITEMID-直bottle.png

ITEMID-bottle.png

如何使用cmd脚本或命令行完成此操作?

例;

REDHI20806-straight-bottle.png到REDHI20806-bottle.png

我应该说,这是在Windows中,我想使用命令行或批处理文件在特定驱动器上的文件夹中的所有文件上运行此重命名

tol*_*ius 7

简短的回答


Windows上,您可以使用在Windows 7上默认安装的PowerShell,并且可以在以前的版本上下载和安装.使用PowerShell,您可以重命名为:

ls | foreach-object -process {ren $_ (%{$_ -replace "-straight",""})}
Run Code Online (Sandbox Code Playgroud)

Unix/Linux上,不需要安装任何特定的东西,你可以重命名为:

ls | awk '{print("mv "$1" "$1)}' | cut -f -3,5- -d '-' | sh
Run Code Online (Sandbox Code Playgroud)


例子

Windows示例

特定

PS C:\rename-me> ls

    Directory: C:\rename-me

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         10/9/2011   1:35 PM          0 REDHI20806-straight-bottle.png
-a---         10/9/2011   1:35 PM          0 REDHI20807-straight-bottle.png
-a---         10/9/2011   1:35 PM          0 REDHI20808-straight-bottle.png
-a---         10/9/2011   1:35 PM          0 REDHI20809-straight-bottle.png
-a---         10/9/2011   1:35 PM          0 REDHI20810-straight-bottle.png
Run Code Online (Sandbox Code Playgroud)

正在做

PS C:\rename-me> ls | foreach-object -process {ren $_ (%{$_ -replace "-straight",""})}
Run Code Online (Sandbox Code Playgroud)

结果

PS C:\rename-me> ls

    Directory: C:\rename-me

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         10/9/2011   1:35 PM          0 REDHI20806-bottle.png
-a---         10/9/2011   1:35 PM          0 REDHI20807-bottle.png
-a---         10/9/2011   1:35 PM          0 REDHI20808-bottle.png
-a---         10/9/2011   1:35 PM          0 REDHI20809-bottle.png
-a---         10/9/2011   1:35 PM          0 REDHI20810-bottle.png
Run Code Online (Sandbox Code Playgroud)


Unix/Linux示例

特定

$ ls -l
total 0
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20806-straight-bottle.png
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20807-straight-bottle.png
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20808-straight-bottle.png
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20809-straight-bottle.png
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20810-straight-bottle.png
Run Code Online (Sandbox Code Playgroud)

正在做

$ ls | awk '{print("mv "$1" "$1)}' | cut -f -3,5- -d '-' | sh
Run Code Online (Sandbox Code Playgroud)

结果

$ ls -l
total 0
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20806-bottle.png
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20807-bottle.png
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20808-bottle.png
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20809-bottle.png
-rw-r--r--  1 user  staff  0 Oct  7 00:54 REDHI20810-bottle.png
Run Code Online (Sandbox Code Playgroud)