删除小于特定大小的文件

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)