谁能告诉我他们是否认为这个 Powershell 脚本有问题。
Dir |
where {$_.extension -eq ".txt"} |
Rename-Item –NewName { $_.name –replace “.“,”-” }
对于当前目录中的每个文本文件,我尝试用连字符替换文件名中的所有句点。提前致谢。
正如其他人所说,-replace
使用正则表达式(“.”是正则表达式中的特殊字符)。然而,他们的解决方案忘记了文件扩展名,并且实际上将其删除。前任。 “test.txt”变为“test-txt”(无扩展名)。更好的解决方案是:
dir -Filter *.txt | Rename-Item -NewName { $_.BaseName.replace(".","-") + $_.Extension }
这还使用 -Filter 仅挑选出以“.txt”结尾的文件,这比与 where 进行比较更快。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)