gpt4 book ai didi

javascript - 在批处理文件中使用 JSMin

转载 作者:行者123 更新时间:2023-12-02 20:46:13 24 4
gpt4 key购买 nike

我正在尝试创建一个批处理文件,该文件将对目录中的所有 .js 文件运行 Doug Cockford 的 JSMin。这是我得到的:

for /f %%a IN ('dir /b /s *.js') do jsmin <%%a >%%~da%%~pamin\%%~na.min%%~xa

问题是尖括号 (<>) 导致批处理文件将其解释为 0< 和 1>。事件正在运行:

jsmin <scripts\script.js >jsmin-stuff.js

在批处理文件中执行相同的操作。使用 ^ 转义尖括号会使 jsmin 认为尖括号是路径的一部分。

有什么想法吗?我做错了什么?

最佳答案

首先,您正在使用 for /f对于for的东西独自一人就足够了。其次,我不建议递归地执行此操作,因为您显然将缩小化的脚本放入同一树的子文件夹中。

for %x in (*.js) do jsmin <"%x" >"min\%~nx-min.js"

(来自命令行,而不是来自批处理)在这里为我做了它应该做的事情。您通过 0< 看到了什么和1>实际上是正确的,因为 0 是标准输入流,1 是标准输出流,您都在重定向。

为了递归地执行此操作,以下行对我起到了作用:

for /r %x in (*.js) do jsmin <"%x" >"%~dpx\min\%~nx-min.js"

预计到达时间:好的,我查了一下,dir事实上,该方法比使用 for /r 更可靠。 。我道歉。从批处理文件中,以下内容对我有用:

for /f "usebackq delims=" %%x in (`dir /s /b *.js`) do jsmin <"%%x" >"%%~dpx\min\%%~nx-min.js"

for /f总是进行标记化,但通常仅基于空白。但我的个人资料文件夹中已经有空格,因此最好完全关闭标记化。

关于javascript - 在批处理文件中使用 JSMin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1145971/

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