Board logo

标题: [文件操作] [已解决]BAT脚本如何处理带特殊字符的文件名? [打印本页]

作者: xiaoguren    时间: 2020-7-9 17:23     标题: [已解决]BAT脚本如何处理带特殊字符的文件名?

本帖最后由 xiaoguren 于 2020-7-14 09:30 编辑

如何处理带特殊字符的文件名
如文件:aaa!.txt,bbb!.txt

要求用批处理删改文件
  1. setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /b /s /a-d') do (
  3. del /f/q "%%i"
  4. )
复制代码
始终报错,到不到文件

在del前后加
============================
setlocal disabledelayedexpansion
del /f/q "%%i"
setlocal enabledelayedexpansion
作者: Batcher    时间: 2020-7-9 17:51

回复 1# xiaoguren


你的真实代码里面是不是有这个命令:
setlocal enabledelayedexpansion
作者: xiaoguren    时间: 2020-7-9 18:00

回复 2# Batcher


    是的
作者: Batcher    时间: 2020-7-9 22:46

回复 3# xiaoguren


请把完整的真实代码发出来,看看有没有办法把 setlocal enabledelayedexpansion 去掉。
作者: xiaoguren    时间: 2020-7-10 09:48

@echo on&setlocal enabledelayedexpansion

for /f "delims=" %%j in ('dir /b /ad') do (
cd %%j
for /f "delims=" %%i in ('dir /b /s /a-d *.*') do (
if not exist "%%~dpi*.bc^!" if %%~zi lss 102400000 (
del /f/q "%%i"
)
)
)
作者: Batcher    时间: 2020-7-14 10:01

回复 5# xiaoguren


    把第一行的 &setlocal enabledelayedexpansion 删掉之后再执行,结果如何?




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2