如何重命名目录中的多个文件?
How to rename multiple files in directory?
我在目录中有很多文件,名称类似于
injector.cpython-33.pyo
PregnancyMegaMod.cpython-33.pyo
我需要从中剪下 .cpython-33
部分,即重命名文件后必须像
injector.pyo
PregnancyMegaMod.pyo
如何编写批处理文件或 PowerShell 脚本?
解决方案是
Get-ChildItem -Filter "*.pyo" -Recurse | Rename-Item -NewName {$_.name -replace '.cpython-33','' }
假设 none 个文件有额外的点(换句话说,没有像 "a.b.cpython-33.pyo" 这样的文件),那么您可以使用如下内容:
ren *.cpython-33.pyo" "??????????????????????????????????????????.pyo"
.cpython=33.pyo"
之前的最长名称必须与 ?
一样多。有关详细信息,请参阅 How does the Windows RENAME command interpret wildcards?。
如果可能还有其他点,那么您可以使用我的 JREN.BAT utility - 一个混合 JScript/batch 脚本,它使用正则表达式替换执行重命名操作。它是纯脚本,可以在任何 Windows 从 XP 开始的机器上本机运行。
jren "\.cpython-33\.pyo$" ".pyo" /i
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
FOR %%a IN ("%sourcedir%\*.pyo") DO FOR %%b IN ("%%~na") DO IF /i "%%~xb"==".cpython-33" ECHO(REN "%%~fa" %%~nb.pyo"
GOTO :EOF
您需要更改 sourcedir
的设置以适合您的情况。
所需的 REN 命令仅 ECHO
ed 用于测试目的。 确认命令正确后,将ECHO(REN
更改为REN
以实际重命名文件。
显然,方法的关键是 for %%a
行。
对于所选目录中与掩码匹配的每个文件,获取名称部分,并使用该名称部分提取 "name" 部分。如果 "extension" 部分是预期的字符串,则构建重命名命令。
我在目录中有很多文件,名称类似于
injector.cpython-33.pyo
PregnancyMegaMod.cpython-33.pyo
我需要从中剪下 .cpython-33
部分,即重命名文件后必须像
injector.pyo
PregnancyMegaMod.pyo
如何编写批处理文件或 PowerShell 脚本?
解决方案是
Get-ChildItem -Filter "*.pyo" -Recurse | Rename-Item -NewName {$_.name -replace '.cpython-33','' }
假设 none 个文件有额外的点(换句话说,没有像 "a.b.cpython-33.pyo" 这样的文件),那么您可以使用如下内容:
ren *.cpython-33.pyo" "??????????????????????????????????????????.pyo"
.cpython=33.pyo"
之前的最长名称必须与 ?
一样多。有关详细信息,请参阅 How does the Windows RENAME command interpret wildcards?。
如果可能还有其他点,那么您可以使用我的 JREN.BAT utility - 一个混合 JScript/batch 脚本,它使用正则表达式替换执行重命名操作。它是纯脚本,可以在任何 Windows 从 XP 开始的机器上本机运行。
jren "\.cpython-33\.pyo$" ".pyo" /i
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
FOR %%a IN ("%sourcedir%\*.pyo") DO FOR %%b IN ("%%~na") DO IF /i "%%~xb"==".cpython-33" ECHO(REN "%%~fa" %%~nb.pyo"
GOTO :EOF
您需要更改 sourcedir
的设置以适合您的情况。
所需的 REN 命令仅 ECHO
ed 用于测试目的。 确认命令正确后,将ECHO(REN
更改为REN
以实际重命名文件。
显然,方法的关键是 for %%a
行。
对于所选目录中与掩码匹配的每个文件,获取名称部分,并使用该名称部分提取 "name" 部分。如果 "extension" 部分是预期的字符串,则构建重命名命令。