我一直在寻找使用 get-children
和 rename
与 if
结合使用的方法,但没有运气。
我想在目录(测试)的所有子目录(subdir1、subdir2 等)中搜索文件 “trigger.txt”
,如果该文件存在于这些子目录之一中,我想更改同一子目录中另一个文件的名称(changeme.txt
为 _changeme.txt
)
改写:
如果文件 subdir1\"trigger.txt"
存在,请将 subdir1\"changename.txt"
更改为 subdir1\"_changename.txt"
我找到了可以更改文件名(如果存在)并查找文件但无法将其连接在一起的脚本...有帮助吗?
最佳答案
试试这个:
Get-ChildItem -r trigger.txt | Foreach {Rename-Item (Join-Path $_.DirectoryName changeme.txt) _changeme.txt}
如果您想要简洁的版本:
ls -r trigger.txt | %{rni (join-path $_.DirectoryName changeme.txt) _changeme.txt}
关于powershell - 如果 Powershell 中存在另一个文件,则重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19670077/