我正在尝试将根文件夹结构中的 - 字符更改为 _ 字符。
这是这种情况。e:\folder\bpo-v3\ext\ext\file.name e:\folder\testopject\ext\ext\file.name
我使用代码
$RootPath = "e:\folder\"
Get-ChildItem -Path $RootPath -Directory -Recurse -Depth 0 | Rename-Item -NewName { $_.Name -replace '-','_'}
此代码工作正常,但我在所有没有 - 字符的文件夹上都收到错误消息。为了防止这种情况,我在解码代码中错过了什么?
您只需要测试名称以查看它是否包含“-”字符。使用Where-Object(别名:where 或 ?):
但是
...-Recurse -Depth 0...
相当于没有递归,因此您的代码简化为:如果您在控制台上以交互方式工作,您可以使用别名缩短并利用位置参数: