Windows 在cmd中重命名多个文件
如果我在一个目录中有多个文件,并且想在它们的文件名中添加一些内容,但不想在扩展名中添加内容,我该怎么做 我用测试文件Windows 在cmd中重命名多个文件,windows,batch-file,cmd,wildcard,rename,Windows,Batch File,Cmd,Wildcard,Rename,如果我在一个目录中有多个文件,并且想在它们的文件名中添加一些内容,但不想在扩展名中添加内容,我该怎么做 我用测试文件file1.txt和file2.txt尝试了以下内容: ren *.txt *1.1.txt 这会将文件重命名为file1.1.txt和file2.txt1.1.txt 我希望文件是file1 1.1.txt和file2 1.1.txt 这是否可以从cmd或我需要有一个bat文件来做这件事?PowerShell呢?试试这个,效果很好。也许不能重新发明轮子。如果你不需要脚本,这是一
file1.txt
和file2.txt
尝试了以下内容:
ren *.txt *1.1.txt
这会将文件重命名为file1.1.txt
和file2.txt1.1.txt
我希望文件是file1 1.1.txt
和file2 1.1.txt
这是否可以从cmd或我需要有一个bat文件来做这件事?PowerShell呢?试试这个,效果很好。也许不能重新发明轮子。如果你不需要脚本,这是一个很好的方法
@echo off
for %%f in (*.txt) do (
ren "%%~nf%%~xf" "%%~nf 1.1%%~xf"
)
如果使用简单的
for
循环而不使用/f
参数,则已重命名的文件将再次重命名。请确保?
中的字符数大于最长名称中的字符数:
ren *.txt "???????????????????????????? 1.1.txt"
有关更多信息,请参阅
新解决方案-2014/12/01
对于那些喜欢正则表达式的人来说,有一个混合的JScript/批处理命令行实用程序,可以在XP以后的任何Windows版本上运行
jren "^.*(?=\.)" "$& 1.1" /fm "*.txt"
或
我对此也感到困惑。。。不喜欢windows在批量重命名时插入的括号。在我的研究中,我决定用PowerShell编写一个脚本。超级简单,工作起来很有魅力。现在我可以在需要批量处理文件重命名时使用它。。。这是经常发生的。我拍了数百张照片,相机把它们命名为IMG1234.JPG等等 这是我写的剧本:
#文件名:bulk_file_rename.ps1
#作者:subcan
#PowerShell脚本,用于将文件夹中的多个文件重命名为
#不带(#)递增的名称
#创建计数器
$int=1
#询问用户他们想要什么
$regex=读取主机“您正在查找的文件的regex?ex.IMG*.JPG”
$file_name=读取主机“没有扩展名的新文件名是什么?例如新图像”
$extension=读取主机“您想要什么扩展?例如.JPG”
#获取符合正则表达式的文件总数
$total=获取子项-过滤器$regex |度量
#while循环以使用新名称重命名所有文件
而($int-le$total.Count)
{
#显示你在循环中的位置
写入主机“在while循环内”$int
#为指定的新名称创建变量-
#$int.ToString(000)确保3位数字001、010等
$new\u name=$file\u name+$int.ToString(000)+$extension
#获取第一个实例并重命名
Get ChildItem-Filter$regex | select-First 1 | Rename Item-NewName$new|u name
#显示重命名的文件名
将主机“重命名为”$new\u name
#增量计数器
$int++
}
我希望这对其他人有所帮助
subcan下面的命令将执行此任务
forfiles /M *.txt /C "cmd /c rename @file \"@fname 1.1.txt\""
来源:我试图将endro的命令(谢谢endro)直接粘贴到命令提示符中,以便为文件添加前缀,但遇到了一个错误。解决方案是将%%减少到%,因此:
for /f "delims=" %i in ('dir /b /a-d *.*') do ren "%~i" "Service.Enviro.%~ni%~xi"
第1步: 选择所有文件(ctrl+A) 第二步: 然后选择重命名选项 第三步: 选择您的文件名。。。例如:myfile 它会自动重命名为myfile(01)、myfile(02),,…. 如果要替换空格和括号。。继续步骤4 第4步: 从当前文件夹打开Windows Powershell 第五步: 用于将空白替换为下划线(389;) 第6步: 用于更换开放式支架
dir | rename-item -NewName {$_.name -replace [Regex]::Escape("("),""}
用于更换封闭支架
dir | rename-item -NewName {$_.name -replace [Regex]::Escape(")"),""}
这适用于您的具体情况:
ren file?.txt "file? 1.1.txt"
我在Supperuser.com上的一条小评论中发现了以下内容: @JacksOnF1re-新的信息/技术添加到我的答案中。你可以 实际上,使用模糊的正斜杠删除前缀的副本 技巧:ren“复制.txt”“//” 在这条线里,你可以看到 我的问题略有不同,我想在文件中添加一个前缀,并从一开始就删除我不需要的内容。就我而言,我有几百个枚举文件,例如:
SKMBT_C36019101512510_001.jpg
SKMBT_C36019101512510_002.jpg
SKMBT_C36019101512510_003.jpg
SKMBT_C36019101512510_004.jpg
:
:
现在我想分别将它们重命名为(相册07图片#):
我只用一个命令行就完成了,它工作起来很有魅力:
ren "SKMBT_C36019101512510_*.*" "/////////////////A06_P*.*"
注:
“
)“不是一个选项,否则它不起作用,在我们的示例中:“SKMBT_C3601910; 1512510_**”
和“///////A06_P**”
被引用A06\u P
实际上替换了2510\u
,而SKMBT\u c360191151
被删除,方法是精确地使用斜杠数///code>(17个字符)
有很多文件吗?一个文件夹中大约有90个文件。如果需要,也可以只使用UI来完成。选择所有文件,将其中一个文件重命名为“文件”,它将显示为文件(1)、文件(2)、文件(3)、文件(4)@Morne,您也可以使用Massive File Renamer之类的工具绝对最大文件名长度为255个字符。但大多数情况下的实际限制较小,因为Windows UI支持的最大总路径长度为259个字符。总路径长度包括卷、文件夹和文件名信息,以及空终止符。请参阅更多信息。感谢您介绍jren,它正是我所需要的,简单快捷。顺便说一句,使用它可以像
\d
或\w
@Armfoot-是的-jren使用标准的JSCRIPT正则表达式,因此支持速记字符类。您可以阅读。+1我认为这是最容易记住的一个,非常简单这比cmd的语法更简单,但让人失望的是,它必须为每次迭代生成一个新的cmd.exe进程
ren file?.txt "file? 1.1.txt"
SKMBT_C36019101512510_001.jpg
SKMBT_C36019101512510_002.jpg
SKMBT_C36019101512510_003.jpg
SKMBT_C36019101512510_004.jpg
:
:
A07_P001.jpg
A07_P002.jpg
A07_P003.jpg
A07_P004.jpg
:
:
ren "SKMBT_C36019101512510_*.*" "/////////////////A06_P*.*"