l--*_*''' 3 windows cmd batch-file
我想删除目录中小于特定大小的所有文件.有谁知道是否有Windows命令会这样做?就像是del *.* where size<3kb
我目前正在这样做:
for /F %%A in ("*.pdf") do If %%~zA LSS 20103409 del %%~fA
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
C:\Documents and Settings\agordon\Desktop\test>If 6440450 LSS 20103409 del C:\Do
cuments and Settings\agordon\Desktop\test\US Tox 01-06-11.pdf
The system cannot find the path specified.
Run Code Online (Sandbox Code Playgroud)
...即使该PDF文件足够小,可以删除.
我究竟做错了什么?
这实际上是有效的:
FOR %%F IN (*.pdf) DO (
IF %%~zF LSS 20103409 DEL %%F
)
Run Code Online (Sandbox Code Playgroud)
但是它没有识别文件名,因为它们有空格!如何在该脚本中将Windows名称转换为"DOS"名称?例如,Windows名称是file name.pdf
我可能需要转换为"DOS",它看起来像这样file_name.pdf
或类似的东西.
Mrc*_*ief 12
从批处理脚本中尝试此操作:
@echo off
setlocal
for /f "usebackq delims=;" %%A in (`dir /b *.pdf`) do If %%~zA LSS 3145728 del "%%A"
Run Code Online (Sandbox Code Playgroud)