我在 PowerShell 中运行批处理文件。它调用另一个程序来制作一堆地图,并将其输出到名为“GRD”的子文件夹中
然后,我想通过在下划线“_”处添加空格“ ”来重命名 GRD 文件夹中的文件,因此我使用 PoweShell 命令:
DIR | 重命名项目-NewName { $.名称-替换”"," " }
如果我在运行批处理文件后将此行输入到 PS 命令窗口中,则此行可以正常工作。但是,有没有办法将此行合并到批处理文件的末尾?我试过:
光盘GRD
DIR | 重命名项目-NewName { $.名称-替换”"," " }
但我收到了错误:
C:\Data\GRD>DIR | 重命名项目-NewName {$.名称-替换”"," " }
‘Rename-Item’ 不被识别为内部或外部命令、可运行程序或批处理文件。
答案1
除了您的示例根本无法正常工作之外,通常要使用 PowerShell 形成批处理文件,您需要指定要运行 PowerShell,并将 PS 命令行作为参数提供给它。
因此,在您的批处理中使用类似以下内容的内容:
powershell "DIR | Rename-Item -NewName { $.name -replace \"\",\" \" }"
注意\
双引号前面的,以便在参数分隔双引号内对其进行转义。