当前位置: 首页 > 知识库问答 >
问题:

从跨多个目录的多个文件名中删除“(1)”

宰父衡
2023-03-14

所以我重新下载了我的google drive备份,我注意到在每个文件中,不管在我的目录和或子目录中有多深,它的名称中都有一个“(1)”,我想要删除这个。Iv获得get-childitem。foreach{rename-item$_$_.name.replace(“(1)”,“”)}但这只适用于这个目录,我需要深入得多。提前道谢。

更新:get到“get-childitem-recurse rename-item-newname{$_.name-replace”(1)“,”“}”但它引发错误:rename-item:源路径和目标路径必须不同.在行:1字符:26

  • ... lditem -recurse | rename-item -newname { $_.name -replace " (1)", ""}
  •                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo:WriteError:(C:\users\opti\D...rgs(1)\lib(1):String)[Rename-Item],IOException
    • FullyQualifiederRorID:RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand

    编辑:get-childitem-path“C:\my\root\path”-filter“(1)”-recurse Foreach{rename-item-path$.fullname-newname$.name.replace('(1)','')}^这就是对我有效的方法

共有1个答案

凤经武
2023-03-14

这样怎么样?

Get-ChildItem -Path "C:\My\Root\Path" -Recurse | Foreach {Rename-Item -Path $_.FullName -NewName $_.Name.Replace('(1)','')}
 类似资料:
  • 问题内容: 我在目录()中有文件名列表。我想从所有这些文件名中删除一定数量的字符。 文件名示例: 我希望在每个文件名中删除文件扩展名前的最后5个字符。 例如: 我相信可以使用完成此操作,但是我无法确定确切的编码。就像是… …但是那行不通。抱歉,如果我选择了这些选项,则我对此没有太多经验。 问题答案: 要么 %%是bash内部操作员…

  • 问题内容: 我有这样的事情: 我想将这些文件重命名为以下形式: 在同一目录中。 我想我可以使用,但是我不知道如何在文件夹和文件重命名的同时使用它。 问题答案: 可以使用bash for loop和: 请注意,如果目录名称包含空格,则上述解决方案将不起作用。相关链接。 另一种基于注释的解决方案(也适用于名称中也包含空格的目录):

  • 问题内容: 我有许多扩展名为.txt的文件。如何删除Linux中多个文件的.txt扩展名? 我找到 替代扩展 我也想对子文件夹中的文件执行此操作。 问题答案: 有点危险,因为根据其手册页: 重命名将通过替换第 一次 出现的… 来重命名指定的文件。 像这样的文件名会很乐意做错事。 这是使用和的解决方案: 请记住,如果文件名包含换行符(罕见,但并非不可能),这将中断。 如果您有GNU查找,这是一个更可

  • 问题内容: 我正在尝试使用Python重命名目录中的某些文件。 假设我有一个名为的文件,并且想要删除,所以我得到的文件名将是 我正在尝试使用,但无法正常工作。我也考虑过使用字符串操作,但也没有成功。 问题答案: 使用重命名或移动文件或目录。

  • 我正在创建一个脚本,用于将一个参数传入MySQL查询,然后执行该MySQL查询以从多个表中删除多条记录。 现在我遇到了一个问题,我需要为每个单独的表创建多个文件。是否有一种方法可以在一个文件中执行每个MySQL查询,而不是为每个查询创建多个文件? 以下是我创建的代码:

  • 问题内容: 有没有一种简单的方法可以从命令行在充满文本文档的文件夹中删除同一行文本? 问题答案: 如果您的sed版本允许该标志(就地编辑): 如果没有,只需将其放入bash循环中即可: