PowerShell批量文件重命名操作实例_PowerShell

总算发现PowerShell相对于CMD来说实用的地方了。

事情是这样的,我下载了一些美剧(抱歉,看完会删的),通常文件名都比较长,包含了很多我不需要的信息,,比如:

复制代码 代码如下:

别对我撒谎.Lie.To.Me.S02E11.Chi_Eng.HDTVrip.720×396-YYeTs人人影视V2.rmvb
别对我撒谎.Lie.To.Me.S02E12.Chi_Eng.HDTVrip.720×396-YYeTs人人影视.rmvb
别对我撒谎.Lie.To.Me.S02E13.Chi_Eng.HDTVrip.720×396-YYeTs人人影视V2.rmvb
别对我撒谎.Lie.To.Me.S02E14.Chi_Eng.HDTVrip.720×396-YYeTs人人影视.rmvb

我想要的只是:

复制代码 代码如下:

Lie.To.Me.S02E11.rmvb
Lie.To.Me.S02E12.rmvb
Lie.To.Me.S02E13.rmvb
Lie.To.Me.S02E14.rmvb

由于我需要的文件名是原文件名中固定的一部分,于是我想到了PowerShell,先测试一下:

复制代码 代码如下:

foreach ($i in (dir 别*)){ Write-Host $i.Name.SubString(6, 17); }

由于这个文件夹中没有其它“别”开头的文件,所以我可以用(dir 别*)来列出所有我需要重命名的文件。然后对每个取它文件名的第6到23个字符:$i.Name.SubString(6, 17)

显示出来是这样的:

复制代码 代码如下:

Lie.To.Me.S02E11.
Lie.To.Me.S02E12.
Lie.To.Me.S02E13.
Lie.To.Me.S02E14.

然后再加上最后的扩展名rmvb就行了,最终的命令是这样的:

复制代码 代码如下:

foreach ($i in (dir 别*)){ $i.MoveTo($i.Name.SubString(6, 17) + "rmvb"); }

小提示:PowerShell的当前路径并不跟随CD指令变化,在使用MoveTo之前需要先用[Environment]::CurrentDirectory = $pwd来调整当前路径。

时间: 2024-09-11 00:57:44

PowerShell批量文件重命名操作实例_PowerShell的相关文章

Java实现文件批量重命名具体实例_java

Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应的文件进行重命名.此外,还可以在重命名模板中添加特殊符号,程序会将这些特殊符号替换成重命名后的文件编号. 思路分析: 1.先看视图层,需要一些JLabel控件分别显示指示用户的信息,三个JTextField控件分别显示所选路径.输入文件名模板即输入扩展名,两个JButton控件分别用来浏览文件夹和开

Python和perl实现批量对目录下电子书文件重命名的代码分享_python

经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名: 例如: python代码如下: 复制代码 代码如下: import os import re def rename_dir(dir,regex,f):   if not os.path.isdir(dir) or not os.path.exists(dir) :     print("The input is not one directory or

java实现文件重命名的方法_java

本文实例讲述了java实现文件重命名的方法.分享给大家供大家参考.具体如下: 下载的电影总是有一些存在网站名称等没用的信息 作为一个强迫症患者 一定要删除他们 package sys.file; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.io.*; public class ZReName { public static void main(Str

aspupload文件重命名及上传进度条的解决方法附代码第1/2页_应用技巧

发现还没有aspupload这个组件的,这两样功能的解决方案,现把我的改进方案写在这里!谢谢  关于aspupload上传组件,文件重命名,进度条的问题解决方案!  共用到4个文件,分别是1.asp,2.asp,bar.asp,framebar.asp  运行第一个文件:1.asp,执行上传操作!  复制代码 代码如下: <% '''进度条 dim SPid,PID,barref Set UploadProgress = Server.CreateObject("Persits.Uploa

sql rename table表重命名分析实例

rename table语法 rename table tbl_name to new_tbl_name    [, tbl_name2 to new_tbl_name2] ...本语句用于对一个或多个表进行重命名. 重命名操作自动进行,这意味着当重命名正在运行时,其它线程不能读取任何表.例如,如果您有一个原有的表old_table,您可以创建另一个具有相同结构的空表new_table,然后用此空表替换原有的表: create table new_table (...);rename table

Mac系统下给文件重命名有哪些方法

  Mac OS系统下给文件重命名的两种方法 1.Return键 首先我们要选中一个你需要重命名的文件夹.选中之后我们按下return键,也就是我们熟知的回车键,我们会发现这时候就可以更改文件的名字了,我们修改完成之后,确认就可以完成文件夹的重命名工作了. 2.鼠标左键 就是用鼠标点击一下文件,就是选中文件,然后隔一秒钟之后我们再用鼠标点击你刚才选中的文件的文件名就可以对这个文件进行重命名了.

扩展名-java实现文件重命名求助

问题描述 java实现文件重命名求助 上传文件,如果文件存在则重命名文件,如x.txt存在则重命名为x(1).txt但是有些文件没有扩展名如 xx_x.10.12这个怎么重命名. 解决方案 要么自己判断有没有扩展名,要么不管有没有,都一样对待 解决方案二: 文件没有扩展名不影响判断文件存在 不存在吧.默认最后一个点之后的就是扩展名呗. 解决方案三: 一个个的判断吧..如果不是.txt或者.zip或者.jpg等等..要是限制了文件上传的类型就好点.最好是在上传的时候就做限制. 解决方案四: 如果在

c语言编程-调用文件重命名函数rename失败,errno的值为17,如何解决?

问题描述 调用文件重命名函数rename失败,errno的值为17,如何解决? void onMenuDele(char *id) { FILE *p=fopen("f:employee.txt","r"); //打开文件 if(p==NULL) { printf("Sorry!employee.txt cannot open!n"); return ; } FILE *fp2=fopen("f:\employ.txt",&q

renameutils 0.12.0发布 文件重命名工具

rehttp://www.aliyun.com/zixun/aggregation/11696.html">nameutils(file renaming utilities的简写)是一款能够更快速和灵活的文件重命名程序.使用qmv允许在文本编辑器编辑文件名,目录中的所有文件名字被写入到一个文本文件,然后由用户编辑.文本文件可以读取和解析,并应用到更改的文件中.使用qcp复制文件来替代进行重命名.它允许一个文件名在终端使用GNU readline库进行编辑. renameutils 0.1