zoukankan      html  css  js  c++  java
  • Windows PowerShell批量替换文件名

    Q:

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

    如图:

     A:

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

    下面来实现一下

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

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

     注意:$Path的路径建议写为二级目录,比如"E:Test est",而二级目录的 test 文件夹下就放着你需要改名的文件。如果路径是"E:Test",Test 目录下有其它子目录,且子目录中也有满足脚本的 $Filter 和 $oldtext 规则的文件,那么脚本会将子目录里满足规则的文件名也一并改了,所以建议把需要改名称的文件放到一个文件夹里,将这个文件夹放在二级目录下

    $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
    
    # 或者将命令 Copy 在终端中执行
    
    $ ls "Path" -Include "Filter" -Recurse |ForEach-Object{Rename-Item $_.FullName $_.FullName.Replace("oldtext","newtext")}

     d. 见证奇迹

    三、收尾工作

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

    # 将PowerShell的执行策略改回默认的 Restricted
    
    $ set-executionpolicy Restricted
    
    # 查看当前设置的执行策略,可以看到当前策略为 Restricted
    
    $ get-executionpolicy

    End...

     
  • 相关阅读:
    完美图解教程 Linux环境VNC服务安装、配置与使用
    c语言中<stdbool.h>的使用
    UNIX文件结构(转自UNIX/AIX操作系统基础教程)
    umask
    在AIX环境为Oracle表空间增加裸设备(逻辑卷)
    面的面积大小合线的长度的判断。
    不用新浪博客了。以后的日常感悟也在这里写了, 新浪太烂了。 (感叹也没用,什么都写不出来。 )
    轴心工具的做法。
    选择因素随机的判断。
    上面发的那个完整版变量还有问题,难道我不是用英文输入法, 电脑不说谎 ,看来我是大意了。下面是最终版。
  • 原文地址:https://www.cnblogs.com/mrjiang-test/p/13832791.html
Copyright © 2011-2022 走看看