简单的方法来重命名在Windows目录中的所有文件

有没有简单的方法来重命名目录中的所有文件? 是PowerShell的路要走吗?

我想从这里走:

c:\family_pics\ img123.jpg img124.jpg 

对此:

 c:\family_pics\ family_pics_1.jpg family_pics_2.jpg 

理想情况下,我想在一个目录上运行一个脚本,它将根据当前目录的名称重命名所有文件,同时保留扩展名,并recursion地遍历目录树。

基于所有东西都可以在一行PowerShell中完成(就像所有的东西都可以在一行Perl中完成一样),这里是单个目录的PS代码。

 $i=0; get-childitem $dirname | foreach-object { rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension) } 

要recursion地做,你可以把上面的代码包装在一个函数中,然后在树中的每个目录中调用它。 如果你需要使用正则expression式,你也可以用一些更复杂的东西replace格式string。

这有点不好意思,但是我已经做了12年了,而且我相当快:

  • 在c:\ family_pics中打开命令提示符并inputdir >> dir.xls
  • 在Excel中打开dir.xls文件
  • 突出显示第一列,select“Text to Columns”,并在空格字符上添加分栏符(忽略重复项)
  • 你现在有一个很好的表格,你的当前文件名,文件大小等
  • 在文件名之前添加一个新的“ren”列
  • 在文件名后面添加一个新列,然后使用任何想要生成新文件名的Excel函数。 在你的情况下,如果你input前两个文件名,然后双击单元格的右下angular,Excel将自动检测模式并生成剩余的名字。
  • 保存为ren.bat
  • 运行刚创build的batch file,它将重命名所有的目录

虽然它可能不是很明显,Excel 非常适合这种任务,因为您可以使用任何types的公式来生成新文件,使用现有文件(时间戳,文件名,大小等)的input)。

虽然你可以用batch file做东西,但是我发现更多的控制,选项等,以及即将发生的事情的视觉线索更好。

有一个名为CKRename的免费工具。 原作者的网站似乎已经消失,但该应用程序function齐全,相当受欢迎(我已经使用了8年)。 下载CKRename

这是它的一个截图 在这里输入图像描述

你可以在浏览器中突出显示你想要的所有内容,然后右键单击第一个,然后重命名它,然后窗口将使用相同的命名约定将它们重命名为全部。

重新命名: http : //www.den4b.com/

另请参阅: 如何从Windows中的文件select中重命名部分文件名?

把你的文件夹放入ReNamer(子文件夹默认recursion添​​加)。 如果你想保持连续顺序,单击名称列按文件名sorting。 特殊的meta标签将允许您使用父文件夹名称进行重命名。 使用以下重命名规则:

  1. 从位置1删除,直到结束(跳过扩展名)
  2. 插入“:File_FolderName:_”作为前缀(跳过扩展名)
  3. 序列化增量从1步骤1重复1作为后缀(跳过扩展)

在这里输入图像描述

总指挥官有一些很酷的多文件重命名function 。

当然如果你进入powershell owenevans00解决scheme看起来不错。

下载RenameFiles(免费软件)。 这是我从Windows迁移到苹果后唯一真正想念的程序之一。

它看起来像这里http://it-falke.com/software/renamefiles/us_description.php,但我没有一台PC来testing该链接。 我使用的最后一个版本是2.1.4。 这真的很简单,但多才多艺。

这剥去了最后四个字符(通常是扩展名)

 dir *.jpg | % { ren $_.Name $_.Name.Substring(0,$_.Name.Length-4) } 

您可能需要修改上述内容来处理空间或特定的重命名要求