以下这个命令将文件夹中后缀为png的文件进行重命名,重命名的方式是给文件加上一个前缀test_,例如1.png,将重命名为test_1.png:
Get-ChildItem *.png | Rename-Item -NewName { $_.name -Replace '(.+)\.', 'test_$1.' }
分析:
Get-ChildItem *.png 是第一个命令,这个命令的输出,将通过管道(管道符|),输出给第二个命令。(管道是进程间通信的一种手段)
第二个命令 Rename-Item ,进行重命名,它会逐个接受前一个命令里的每一个文件信息,然后进行命名。命名的规则为{ $_.name -Replace '(.+)\.', 'test_$1.' }
。这实际上也是一个单独的语句。可以在命令行单独测试:
“1.png” -Replace '(.+)\.', 'test_$1.'
这里面主要涉及到正则表达式,在replace的第一个参数,需要正则表达式表示,遇到特殊字符,需要用\
转义。而第二个参数不是正则表达式,因此不需要这么做。第二个参数中可以用