我需要重命名不同文件夹中的各种文件。所有需要删除的文件名都有前缀“f_” 我设法使用Powershell中的以下行来完成此操作。
cd "C:\Users\pieter\Desktop\Folder1\Folder2\20140402_Export"
Get -ChildItem -filter "*f_*" -recurse | Rename-item -newname { $_.name -replace "f_","" }
这有效,但是如何制作一个.bat呢? 我想双击一个自动执行相同工作的脚本文件。
谢谢!
答案 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
)