标题: [文件操作] 【已解决】用bat批量删除文件指定字符后所有后缀 [打印本页]
作者: gujiayi 时间: 2021-12-19 12:41 标题: 【已解决】用bat批量删除文件指定字符后所有后缀
本帖最后由 gujiayi 于 2021-12-19 14:38 编辑
各位大佬好,我是一个纯小白,需要如图帮助,初衷是为了整理我的图片资料库和文件适配
我看过batcher版主发的帖子:批处理字符串、文本常见操作之高效删除包含指定字符串的行
https://mp.weixin.qq.com/s?__biz=MzIxMzU1MDcyMA==&mid=2247483790&idx=1&sn=74e9670cf69e6883967c6855be154e7b&chksm=97b45261a0c3db77261469b91a0738d63aac8e297c0b4e1802c4a81a35399465673742b5dca5&scene=21#wechat_redirect
但是没有看懂,我复制下来照着做无法实现,首先建立A/b.bat就出现问题,系统提示无法找到路径
复制了版主的代码到txt
@echo off
set "KeyStr=BatHome"
set "FileLog=ListDelete.log"
(for /f "tokens=1 delims=:" %%i in ('findstr /s "%KeyStr%" *.txt') do (
echo %%i
del /f /q "%%i"
))>"%FileLog%"
之后创建了随机两个两个txt文件,双击运行没有反应
我先在的问题是这样的,根文件夹下有很多的子文件夹,每个子文件夹里面都有“前缀 by 后缀.jpg”的一个图片jpg文件,现在需求把by开始后面的字符全部删掉。只保留前缀,如果可以做高级点就是我直接把bat放在根文件夹下,双击,每个子文件夹下面都会自动把by及后面的后缀删掉,得到无后缀的jpg图片
不管能不能成,都感谢每一个帮助回帖的大佬们,拜谢
作者: qixiaobin0715 时间: 2021-12-19 13:48
代码未经测试,请备份好源文件,以免出现不可挽回的损失:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /s /b /a-d *.jpg') do (
- set "str=%%~na"
- set "str=!str:by=/!"
- for /f "delims=/" %%i in ("!str!") do ren "%%a" "%%i%%~xa"
- )
- pause
复制代码
作者: gujiayi 时间: 2021-12-19 14:36
回复 2# qixiaobin0715
这个代码可以用,很完美,十分感谢,我还有个小问题,如果我要更换需要修改的文件类型,是不是只要动如下两个地方就可以了
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /s /b /a-d *在此输入文件后缀名') do (
set "str=%%~na"
set "str=!str:在此输入需要删除的字符样式=/!"
for /f "delims=/" %%i in ("!str!") do ren "%%a" "%%i%%~xa"
)
pause
作者: gujiayi 时间: 2021-12-19 15:01
回复 3# gujiayi
经测试,可以套用
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |