批处理加前缀并删除文件中特定字符
发布网友
发布时间:2022-05-01 08:38
我来回答
共5个回答
热心网友
时间:2022-06-26 20:53
批量给文件添加相同前缀
步骤1,下载上方的工具软件后安装打开,然后将需要添加前缀的文件导入到软件中,也可以通过拖动文件到软件进行导入。
步骤2,这时候在左边可以看到设置界面,命名方式选择“插入”;然后在插入内容右边输入添加的前缀;最后插入位置选择“文件名头”。这时候在右边可以预览到新的文件名称了,可以随时修改随时预览。
步骤3,当设置好了之后就可以点击【开始重命名】按钮,启动软件程序了,处理完成后软件会弹出“重命名成功”的窗口。
步骤4,通过案例对比可以看出,修改后的文件名前面都添加了相同的前缀。
热心网友
时间:2022-06-26 20:53
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <file.au3>
Global $pre = "xxx"
Global $buffer = ""
Global $list = ""
Global $folder = ""
Global $i
#Region ### START Koda GUI section ### Form=
$frm_window = GUICreate("批处理加前缀并删除文件中特定字符", 600, 400, (@DesktopWidth-600)/2,(@DesktopHeight-400)/2)
$folderpath = GUICtrlCreateInput("请选择文件夹", 32, 150, 369, 21)
$btn_viewfolder = GUICtrlCreateButton("浏览", 440, 140, 81, 41)
$btn_exc = GUICtrlCreateButton("执行", 440, 200, 81, 41)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btn_viewfolder
$folder = FileSelectFolder("请选择文件夹","")
GUICtrlSetData($folderpath, $folder)
$list = _FileListToArray($folder,"*.avi",1)
Case $btn_exc
For $i = 1 To $list[0]
If $list[$i] = "" Then
ContinueLoop
EndIf
$buffer = $list[$i]
$buffer = StringRegExpReplace($buffer,".DEL.",".")
$buffer = $pre&$buffer
If FileExists($folder&"\"&$list[$i]) Then
FileMove($folder&"\"&$list[$i],$folder&"\"&$buffer)
EndIf
Next
MsgBox(0,"完成","")
EndSwitch
WEnd追问这个是啥,我要的是bat批处理脚本
追答强大的au3脚本 可以编译成 exe 的
热心网友
时间:2022-06-26 20:53
你可以这样来写批处理:
cd.
rename 110824C.abc.DEL.avi ***110824C.abc.avi
rename 110821C.cde.DEL.avi ***110821C.abc.avi
rename 110841C.789.DEL.avi ***110841C.abc.avi
然后把它以.bat为扩展名储存,其中“***”为你要加的前缀。
把它放在与你的文件是同一个文件夹。
双击它就可以实现了。
其它的文件用同样的方式。
可以在cmd窗口中用“help rename”查看它的用法。追问大哥,我这很多文件啊,要像你这样每个文件写进去的话,那还不如手工修改算了呢。
热心网友
时间:2022-06-26 20:54
看改的格式对不:
@echo off
for %%i in (*.del.*)do set fn=%%~ni&call ren "%%i" "xxx%%fn:~,-4%%%%~xi"
热心网友
时间:2022-06-26 20:55
@echo off
for /f "tokens=1,2 delims=." do ('dir/b *.avi') do ren %%i.%%j.del.avi xxx%%i.%%j.avi追问我试了试,貌似不管用
追答@echo off
for /f "tokens=1,2 delims=." %%i in ('dir/b *.avi') do ren %%i.%%j.del.avi xxx%%i.%%j.avi
不好意思,手误。这次做过测试了,把批处理和那些avi放在一个文件夹运行,一定可以的。至少提问中的文件都能按要求改名。