【发布时间】:2018-05-26 11:28:27
【问题描述】:
有子目录 S 和 F 包含名称相同但文件大小不同 (
我想将文件从S 复制到F,如果S 的文件小于F 的文件。
FOR /R %%F IN ( >>THE_FILES_IN_S<< ) DO (
set fileS="S/%%~nF"
FOR /F "usebackq" %%A IN ('%fileS%') DO set sizeS=%%~zA
set fileF="F/%%~nF"
FOR /F "usebackq" %%A IN ('%fileF%') DO set sizeF=%%~zA
if %sizeS% LSS %sizeF% (copy /V /Y %fileS% %fileF%)
)
上面的代码
不起作用,因为>>THE_FILES_IN_S<< 是伪代码。
什么是正确的表达方式?
还有其他错误吗(正确的形式是什么)?
【问题讨论】:
-
通常你可以在
for中使用.或*来浏览当前目录中的所有文件,但我不确定它是否适用于你的情况 -
1 000 000+ 回答了关于ss64.com/nt/delayedexpansion.html的问题 -
@JosefZ:我不知道“默认情况下扩展只会发生一次”。感谢您提供链接!
标签: windows batch-file command-line