我正在使用html / js minifier来缩小我的文件dos命令正常工作。我需要更改此批处理命令以缩小文件名不包含字符串.min
的文件@echo off
@setlocal enableextensions enabledelayedexpansion
for /r %%F in ('dir /b /a-d * ^| find /v /i "min"') do (
if /I %%~xF == .php html-minifier %%~dpnF%%~xF --minify-js -o %%~dpnF.min%%~xF
if /I %%~xF == .html html-minifier %%~dpnF%%~xF --minify-js -o %%~dpnF.min%%~xF
if /I %%~xF == .js uglifyjs %%~dpnF%%~xF -o %%~dpnF.min%%~xF
)
答案 0 :(得分:1)
当您在处理文件扩展名之前包含.min
时,您可以检索文件的名称,并从此字符串中检查扩展名
real file name testfile.min.js
file name without extension (%%~nF) testfile.min
includes its own extension ^^^^
因此,您可以使用额外的for
命令处理文件名
@echo off
setlocal enableextensions enabledelayedexpansion
for /r %%F in (
*.php *.html *.js
) do for %%A in ("%%~nF") do if /i not "%%~xA"==".min" (
if /I "%%~xF"==".php" html-minifier "%%~fF" --minify-js -o "%%~dpnF.min%%~xF"
if /I "%%~xF"==".html" html-minifier "%%~fF" --minify-js -o "%%~dpnF.min%%~xF"
if /I "%%~xF"==".js" uglifyjs "%%~fF" -o "%%~dpnF.min%%~xF"
)