powershell - 如果 Powershell 中存在另一个文件,则重命名文件

标签 powershell

我一直在寻找使用 get-childrenrenameif 结合使用的方法,但没有运气。

我想在目录(测试)的所有子目录(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/

相关文章:

powershell - 是否可以在Powershell中从读取主机隐藏用户输入?

c# - 从外部应用程序向 Web 浏览器添加书签

powershell - 具有延迟变量扩展的 For 循环中 "!"文字问题的解决方法

powershell - 使用powershell创建计划任务而不存储密码

PowerShell,格式化另一种文化中的值

Powershell:删除模块不会卸载嵌套模块中定义的全局[常量]变量

powershell - 为所有用户删除 AppxPackage

powershell - Powershell对参数的不同操作

powershell - 如何在 VSCode 中使用带有 powershell 的 cmder?

powershell - 如果使用 Powershell 在文本中找到两种模式,则返回 True