Windows PowerShell批量替换文件名

时间:2020-10-18 10:12:53   收藏:0   阅读:46

Q:

  假如文件夹有批量相似的文件名,如果文件名不符合需求了,要怎么改呢,文档可以“Ctrl + H”一键替换字符,系统文件名可不支持“Ctrl + H”一键替换字符,动手能力强的已经一个个手动在改了/滑稽,你是原始人嘛

如图:

技术图片

 A:

  可以通过Windows自带的PowerShell写脚本来实现批量修改文件名

下面来实现一下

一、新建记事本,保存为 ".ps1"文件格式

a. 打开文件写入下面这段内容

$Path = ‘‘   # 路径:要改名称的文件夹路径
$Filter = ‘‘   # 过滤器:要改名称的文件格式
$newtext = ‘‘   # 新字符:符合需求的字符
$oldtext = ‘‘   # 旧字符:现有的、不符合需求的字符

# 下面这段命令照抄即可

ls $Path -Include $Filter -Recurse | ForEach-Object{Rename-Item $_.Fullname $_.Fullname.Replace($oldtext,$newtext)}

技术图片

b. 保存,右键PowerShell运行,不出意外你应该看见一个窗口一闪而过,文件名没有发生任何改变

c. 为什么呢?因为PowerShell的默认执行策略是 Restricted,这个策略不允许任何不被信任的脚本运行,所以脚本是执行失败了

二、在Windows里搜索打开 Windows PowerShell ISE

a. 以命令的形式执行脚本可以看到报错信息

# 使用绝对路径或相对路径执行脚本

$ .\script_path\**.ps1

技术图片

b. 输入以下命令:

# 查看当前设置的执行策略,可以看到当前策略为 Restricted

$ get-executionpolicy

# 使用下面的命令更改策略为 remotesigned

$ set-executionpolicy remotesigned

# 再次查看当前设置的执行策略,可以看到当前策略为 Remotesigned

技术图片

c. 使用命令执行 .ps1 脚本

# 使用绝对路径或相对路径执行脚本

$ .\script_path\**.ps1

技术图片

 d. 见证奇迹

技术图片

三、收尾工作

a. 将PowerShell的执行策略改回 Restricted

# 将PowerShell的执行策略改回默认的 Restricted

$ set-executionpolicy Restricted

# 查看当前设置的执行策略,可以看到当前策略为 Restricted

$ get-executionpolicy

技术图片

 

End...

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!