Powershell 批量重命名文件中含有 [] 导致报错

下载的所有文件中都包含了 “[下载网站地址]”, 按照常规方法

Get-ChildItem "D:\Bluey\" -Recurse |ForEach-Object{Rename-Item -Path $_.FullName -NewName $_.FullName.Replace(‘old‘,‘new‘)}

一直报告无法发现源文件,查阅后得知当文件名中包含特殊字符,需要使用 -LiteralPath 参数。

Get-ChildItem "D:\Bluey\" -Recurse |
Where-Object {$_.Name -match ‘\[.+\]‘ } |
foreach {
    Rename-Item -LiteralPath $_.FullName -NewName $($_.Name -replace ‘\[.+\]‘,‘-‘)
}

将[]和其间字符替换为-。

原文地址:https://blog.51cto.com/41084/2463237

时间: 2024-09-30 06:25:58

Powershell 批量重命名文件中含有 [] 导致报错的相关文章

五种方法实现Linux批量重命名文件

五种方法实现Linux批量重命名文件 Linux批量重命名文件是指对某些特定的文件统一进行重新命名,以改变原来一批文件的名称,这里介绍五种方法来实现. AD: Linux批量重命名文件会涉及到改变一个字母.改变一些相连字母.改变某些位置的字母.在最前面加上某些字母.或者改变字母的大小写.完成这里五个方法基本上就会解决了Linux批量重命名的工作. 1.我想把它们的名字的第一个1个字母变为"q",其它的不变 [[email protected] mailqueue]# for i in

通过DOS命令批量重命名文件

以下为提供的两种方法:遍历当前目录下的所有文件名以.avi结尾的文件,然后权限规则进行修改(规则含义请自行查找资料).第一种方法有缺陷,更改完所有的文件名后,会多改一次.请斟酌使用.第二种方法解决了第一个方法的不足. 方法一: 1 @echo off   2 setlocal enabledelayedexpansion   3    4 for /f "delims="  %%a in ('dir /a-d /s /b *.avi') do (   5     echo "

Flex读取txt文件中的内容报错

Flex读取txt文件中的内容 1.具体错误如下 2.错误原因 读取文件不存在 var file:File = new File(File.applicationDirectory.nativePath+"/phone.txt"); 3.解决办法 将文件导入进去 Flex读取txt文件中的内容报错

利用Python批量重命名文件(给非技术人员的Python实例参考)

转自https://www.cnblogs.com/brucex/p/python-rename-example.html 这一回我需要完成的任务是把"照片"目录下面的数百个以"数字+中文姓名.jpg"的文件批量重命名,我需要把"数字"删除,保留"中文姓名.jpg",手工改名将是一件繁琐无趣的事.很自然我想到了我一直很喜欢的Python,当然,在这里除了Python还可以用Perl.Ruby.PHP.DOS Batch.VBS

利用perl批量重命名文件

使用perl自带函数rename可以重命名文件名称,具体用法,rename $old_name, $new_name. 例如,要把文件名中“7--1_F03_2018-12-28.fsa”中的前缀“7--”去除. 1 use strict; 2 3 my $DIR_PATH = "./"; # current directory 4 opendir TEMP, ${DIR_PATH} || die "Can not open this directory"; 5 m

批量重命名文件

今天突然想给桌面换张壁纸,打开原来的壁纸文件夹,很多当时觉得不错的壁纸现在已经不能看了,删掉一些之后,壁纸文件的名称变得断断续续.当时下载时是按照数字顺序命名的,现在看上去多少有些别扭.于是突发奇想,能否批量给某一目录下的文件重命名,比如我现在的壁纸文件夹. 首先我想到应该要打开一个目录,猜想是否有opendir之类的函数?果然有!在头文件<dirent.h>下面: DIR* __cdecl __MINGW_NOTHROW opendir (const char*); 返回值是DIR*,查看D

批量重命名文件名称小软件

说在前面 先扯会,如果不是Android开发的,要使用本小软件,可以直接到下面正题 在Android开发中,有时会遇到大量文件需要重命名的情况,特别是一些图片文件.有两个同学遇到过这种情况,我暂时还没遇到,但这种情况以后肯定会遇到的. 可以用批处理命令(move,ren)来解决,但要一条一条写命令,写修改后的文件名,还要写原文件名.如果有些修改后的名称直接是a001.txt,a002.txt,a003.txt,--毫无疑问这样有规律的名称,用万能的Excel解决最快了,一个拖拉就搞定.以前也写过

一个Java写的批量重命名文件小程序

今天学了一下java的File操作,然后乘着兴趣,写了一个可以批量处理文件命名的小程序,小程序还有一些不完美的地方,但胜在有趣.比如可以快捷更改你不想让别人看到的文件之类的...限个人使用,造成数据丢失后果自负哟. import java.io.File; import java.sql.Date; import java.util.Scanner; public class RenameTool { boolean useDefaultName = false; boolean useDefa

DOS命令批量重命名文件配合Excel 操作备忘

批量取得文件夹下文件名 有时候文件夹下有好多图片什么的,文件名称不是统一的格式,想统一一下,于是google找到以下方法,进入要操作的目录,按住shift键的同时,单击鼠标右键,你会看到在此处打开命令行窗口的字样点击下就进入 了DOS操作窗口了 win键+r进入命令行,输入以下命令, dir /s/b>文件名随便打.bat      这个是取得全路径文件名 dir /b>文件名随便打.bat 这个是只取得当前目录下的文件名 于是在当前目录下生成了 再用记事本打开 你相要的名称.bat 把它的内