标题: [文件操作] [已解决]重命名文件的批处理怎样过滤文件名? [打印本页]
作者: smss 时间: 2019-6-12 21:05 标题: [已解决]重命名文件的批处理怎样过滤文件名?
本帖最后由 smss 于 2019-6-13 10:06 编辑
- @echo off
- set k=*.jpg *.webp *.png
- for /f "delims=" %%i in ('dir /b/a-d/s %cd%\%k%') do (ren "%%i" "%%~ni")
复制代码
怎样过滤文件名 .9.png 如a.9.png 不重命名
%%~nxi?
作者: Batcher 时间: 2019-6-12 22:02
- @echo off
- set k=*.jpg *.webp *.png
- for /f "delims=" %%i in ('dir /b /a-d /s %cd%\%k%') do (
- if "%%~xi" neq ".9.png" (
- ren "%%i" "%%~ni"
- )
- )
复制代码
作者: smss 时间: 2019-6-12 22:26
回复 2# Batcher
不行 .9.png会认为后缀是.png
作者: Batcher 时间: 2019-6-12 22:36
回复 3# smss - @echo off
- setlocal enabledelayedexpansion
- set k=*.jpg *.webp *.png
- for /f "delims=" %%i in ('dir /b /a-d /s %cd%\%k%') do (
- set "file=%%~nxi"
- if "!file:~-6!" neq ".9.png" (
- ren "%%i" "%%~ni"
- )
- )
复制代码
作者: /zhqsystem/zhq 时间: 2019-6-13 02:20
可以用双for,红色+蓝色区域为追加,蓝色区域可删除
- for /f "delims=" %%i in ('dir/a-d/s/b ".\%k%"') do (
- set "过滤=%%~nxi"
- for /f "delims=" %%j in ("%%~ni")do if /i "%%~xj"==".9" set "过滤="
- if not defined 过滤 (echo,过滤%%~nxi %%~dpi)else ren.....
- )
复制代码
作者: smss 时间: 2019-6-14 14:29
回复 4# Batcher
能不能再改改 当文件名以time_开头则不修改
例如time_0.png
作者: Batcher 时间: 2019-6-14 15:27
回复 6# smss - @echo off
- setlocal enabledelayedexpansion
- set k=*.jpg *.webp *.png
- for /f "delims=" %%i in ('dir /b /a-d /s %cd%\%k%') do (
- set "file=%%~nxi"
- if "!file:~0,5!" neq "time_" (
- if "!file:~-6!" neq ".9.png" (
- ren "%%i" "%%~ni"
- )
- )
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |