将简单的PowerShell命令添加到批处理文件
问题描述:
我想添加几个简单的PowerShell命令到批处理文件。我的首选是保持批处理文件独立与调用外部.ps1文件。将简单的PowerShell命令添加到批处理文件
任务:
移除在特定文件夹中的文件名的结构&
炭。
以下PowerShell命令在命令行工作:
cd c:\Media\Downloads
Get-ChildItem -Filter '*&*' -Recurse | Rename-Item -NewName {$_.name -replace '&','testing' }"
这里就是我试图添加到我的批处理文件,都没有成功:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -command "& cd c:\Media\Downloads"
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -command "& Get-ChildItem -Filter '*&*' -Recurse | Rename-Item -NewName {$_.name -replace '&','testing' }"
任何人都可以提供一些建议吗?
答
powershell -c "Get-ChildItem 'c:\Media\Downloads' -Filter '*&*' -Recurse | Rename-Item -NewName {$_.name -replace '&','testing' }"
- 指定路径Get-ChildItem
- 不需要指定的完整路径的PowerShell
谢谢,@wOxxOm。试过这一行:powershell.exe -Command -c“Get-ChildItem'c:\ Media \ Downloads'-Filter'* AA *'-Recurse | Rename-Item -NewName {$ _。name -replace'AA','测试'}“,但没有看到替换。权限问题? –
@MarkPelletier是否“Get-ChildItem'c:\ Media \ Downloads'-Filter'AA'-Recurse'返回任何内容?您的过滤器没有通配符 – Matt
在命令行中,是的,我看到了结果。 (在我的过滤器上修正了通配符) –