gpt4 book ai didi

batch-file - 批处理文件检查文件修改日期是否比输出更新

转载 作者:行者123 更新时间:2023-12-04 01:17:26 27 4
gpt4 key购买 nike

我有一个脚本,它在制作网站的生产版本之前使用 YUICompressor 压缩所有 CSS 和 JS。我让它工作了,但我想通过只压缩那些修改过的文件来加快它的速度。

换句话说,如果输出文件比输入文件新,它应该跳过。

@echo off
set batch_path=%~p0
setlocal enabledelayedexpansion

call:compress css styles\core\ ..\core\resources\styles\
call:compress js scripts\core\ ..\core\resources\scripts\

pause
goto:eof


:compress
for /r .\%~2 %%f in (*) do (
set filename=%%f

rem set output filename to correct directory and add .min before extension
set output_filename=%%~pf
set output_filename=!output_filename:%batch_path%%~2=!
set output_filename=%~3!output_filename!%%~nf.min%%~xf

echo. !filename! =^> !output_filename!

rem --- check file modify times ---

rem change \ into \\ for yuicompressor
set filename=!filename:\=\\!
set output_filename=!output_filename:\=\\!

java -jar yuicompressor-2.4.8.jar --type %~1 -o "!output_filename!" "!filename!"
)
goto:eof

我只找到复杂的解决方案,我如何比较文件修改时间并继续或跳过?

最佳答案

参见 Comparing a modified file date with the current date in a batch file

for %%f in (%filename%) do set filedt=%%~tf
for %%f in (!output_filename!) do set outfiledt=%%~tf
if %filedt:~0, 10% LSS %outfiledt:~0, 10% DO SOMETHING

如果文件名早于 outfilename - 做一些事情。

关于batch-file - 批处理文件检查文件修改日期是否比输出更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20223923/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com