如何用BAT删除文件名中特定的几个字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用BAT删除文件名中特定的几个字?相关的知识,希望对你有一定的参考价值。
我有个文件夹中有几十个文件,是不同格式的,
我想删除每个文件名字中的“ - airvideo”两字
请高手帮我写个批处理命令
文件名中有空格,不知道有没有影响
还有因为某些原因,BAT最好是可以指定文件夹,因为BAT不能放在文件夹里面
我的文件夹目录是G:\AirVideo提取处\
教你如何批量删除文件名中的指定字符?
第一步,下载电脑优速文件批量重命名软件后安装使用,点击左上角的“添加文件”蓝色按钮,将文件批量导入到软件中,当然你可以从不同文件夹中导入,再批量重命名。
第二步,然后在软件左边进行设置,命名方式选择“替换”;查找内容右边输入需要删除的字符,替换内容右边留空。这时候在右边可以看到新文件名中已经去除了需要删除的字符。
第三步,最后觉得设置没有问题的话,点击右上角“开始重命名”按钮,开启软件执行程序。完成批量重命名后软件会弹出“批量重命名”成功的提示。
第四步,如下图所示,对比批量重命名前后的文件名称可以看到,修改后的文件名已经全部删除了“表格”文字字符。
如果字符(- airvideo)前面有空格,就这样(set str= - airvideo)
也就是说一个空格也是按一个字符处理的。
@echo off
set fol=G:\AirVideo提取处\
set str=- airvideo
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s /b "%fol%*.*"') do (set a=%%~fi& set b=%%~ni& set c=%%~xi
set b=!b:%str%=!
ren "!a!" "!b!!c!")本回答被提问者采纳 参考技术B 文件名中有空格,没有影响
“- airvideo”前面是部分文件名吗?必须完整保留一模一样吗?如果“是”采用方法一,“否”采用方法二。
方法一:
你复制下面完整的这一行:
dir "G:\AirVideo提取处" >c:\tmp.txt
打开“命令提示符”,右击黑色的命令提示符窗口,粘贴
然后把c:\tmp.txt发给我,我看看文件名的样子编好BAT发给你。 我的邮箱:wdzlg@126.com
方法二:
用我的电脑打开“G:\AirVideo提取处”文件夹,
然后按Ctrl+A全选,
按F2键,
输入:XXX.M4V
回车。文件名就自动重命名为:
XXX (1).M4V
XXX (2).M4V
XXX (3).M4V
XXX (4).M4V
…… 参考技术C Dim fso
Set fso = CreateObject("scripting.filesystemobject")
Dim target,tmp
target=choosefolder()
If Len(target)<>0 Then
Set fs=fso.GetFolder(target).Files
For Each f In fs
tmp=Replace(f.name," - airvideo","")
f.Name=tmp
Next
End If
set fso=nothing
Function choosefolder()
Dim aShell
set aShell = CreateObject("Shell.application")
Set folder=aShell.BrowseForFolder(0,"选择目标文件夹",0)
If Not folder Is nothing then 'MsgBox folder.self.path
choosefolder=folder.self.path
Else
choosefolder=""
End If
End Function
'存成vbs,有选择文件夹的对话框。 参考技术D @echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s "G:\AirVideo提取处\*.*"') do (for /f "usebackq delims=" %%j in ("%%~fi") do (set a=%%j
set a=!a:- airvideo=!
echo !a! >>%%~dpinew%%~nxi
)
)
::会把修改的文件都放在“new原文件名”中。
::如果文件较多,运行的时间会很长。
如何用bat更改文件扩展名
【中文标题】如何用bat更改文件扩展名【英文标题】:How to change files extension with bat 【发布时间】:2021-10-19 18:13:31 【问题描述】:我需要通过创建 bat 文件来更改文件夹和子文件夹中的文件扩展名
例子
文件1.txt 文件2.txt ………… 文件N.txt
应该改名为
文件1.jpg 文件2.jpg 文件3.jpg ………… 文件N.jpg
在文件夹和子文件夹中。
然后
File1.txt
File2.txt
.........
FileN.txt
应该删除
我尝试过for /d /r %f in (.) do ren "%f\*.txt" "*.jpg"
,但它对我不起作用
【问题讨论】:
【参考方案1】:我创建了新文件,这对我有帮助
@echo off
pushd C:\exmasconv
for /f "delims=" %%i in ('dir /a-d/b/s *.txt') do ren "%%i" "%%~ni.jpg"
popd
exit /b
【讨论】:
【参考方案2】:您可以使用“重命名”。例如:
重命名 *.jpg *.txt
或
重命名“test123.txt”“123.jpg”
【讨论】:
【参考方案3】:试试这个(先在一些测试文件上测试它!):
REN File*.txt File*.jpg
【讨论】:
以上是关于如何用BAT删除文件名中特定的几个字?的主要内容,如果未能解决你的问题,请参考以下文章
如何用批处理找出文件名有特定前缀的文件并删除文件名的前缀及后面的日期