将Powershell命令行转换为.bat文件

时间:2014-04-02 14:30:50

标签: windows batch-file powershell file-rename

我需要重命名不同文件夹中的各种文件。所有需要删除的文件名都有前缀“f_” 我设法使用Powershell中的以下行来完成此操作。

cd "C:\Users\pieter\Desktop\Folder1\Folder2\20140402_Export"
Get -ChildItem -filter "*f_*" -recurse | Rename-item -newname { $_.name -replace "f_","" }

这有效,但是如何制作一个.bat呢? 我想双击一个自动执行相同工作的脚本文件。

谢谢!

2 个答案:

答案 0 :(得分:1)

创建一个批处理文件,然后在那里,它将在Powershell线程中执行您的命令并退出。

@powershell "cd 'C:\Users\pieter\Desktop\Folder1\Folder2\20140402_Export'; Get-ChildItem -filter "*f_" -recurse | Rename-item -newname { $_.name -replace 'f_','' }"

答案 1 :(得分:0)

试试这个:

@cd /d "C:\Users\pieter\Desktop\Folder1\Folder2\20140402_Export"
for /f "delims=" %%a in ('dir /b /a-d /s "*f_*"') do (
   set "name=%%~na"
   setlocal enabledelayedexpansion
      set "new=!name:f_=!"
      ren "%%a" "!new!%%~xa"
   endlocal
)
相关问题