我需要一个批处理文件来从同一目录中的多个文件名中删除某个部分。
实施例: 我有超过80,000多个文件,标题如下:
Test Title, The - Conspiracy.zip
我需要“,”从文件名中删除了这样的标题:
Test Title - Conspiracy.zip
PS,我只在批处理文件中需要这个!
非常感谢任何帮助! THANX !!!
答案 0 :(得分:2)
我找到了我需要使用的内容,并感谢大家的快速回复和帮助!
@echo off &setlocal
set currentDirectory="%CD%"
for /f "delims=" %%a in ('dir /b /a-d *, The*.*') do (
set "fname=%%~a"
setlocal enabledelayedexpansion
set "nname=!fname:, The=!"
ren "!fname!" "!nname!"
endlocal
)
答案 1 :(得分:0)
如果您可以使用Unix命令shell,则可以在循环中使用mv命令。
您可以下载cygwin或Git Bash,或者如果您有Windows 10,您可以在命令行中执行此操作(假设您已更新):
创建这样的文件
#!/bin/bash
for file in *.zip
do
removedPart=", The"
mv "${file}" "${file/removedPart/}"
done
您可能希望首先在单个文件上测试该命令,以确保它能够执行您想要的操作。即。
file=Test Title, The - Conspiracy.zip
removedPart=", The"
mv "${file}" "${file/removedPart/}"
答案 2 :(得分:-1)
你可以在这个循环中循环遍历文件目录的内容。 Batch script loop
然后,当您循环浏览时,可以替换文件名的内容。看看这个:String replacement in batch file
抱歉没有更具体,因为批处理脚本不是我的事情。但这种逻辑至少应该证明是有用的。我发帖的人更好。