3

私はバッチを初めて使用しますが、Web サイトの.lessファイルを展開する前に .css にコンパイルするのが良い方法であることがわかりました。

残念ながら、forバッチ ファイルでループを使用してすべての .less ファイルを検索し、それらを同等の .css ファイルにコンパイルした後、forループの後にさらにコマンドがあるにもかかわらず、スクリプトの実行が停止します。

私のバッチスクリプトには以下が含まれています:

@echo off
rmdir c:\code\releaseDirectory /s /q
echo d | xcopy /d c:\code\devDirectory c:\code\releaseDirectory /s
cd c:\code\releaseDirectory
for /r %%i in (*.less) do echo %%i
for /r %%i in (*.less) do lessc -x %%i > %%~pi%%~ni.css
echo reached the end of the batch script!

これを実行すると、すべての .less コンパイルが行われていることが出力に示されますが、「バッチ スクリプトの最後に到達しました!」というメッセージが表示されます。文字列は表示されないため、.less コンパイル後に実行したいアクションは発生しません。

forループ内でより少ないコンパイルが実行された後、スクリプトが実行されないのはなぜですか?

4

3 に答える 3

3

lessc.batあなたのパスにはありますか?

もしそうなら、あなたはする必要がありますCALL lessc...


「奇妙な」ファイル名はありますか?処理中?

おそらく... do ECHO %%i& lessc -x %%i > %%~pi%%~ni.css

もっと明らかになるかもしれません...

于 2013-03-24T23:28:07.297 に答える
1

これを試して:

...
for /r %%i in (*.less) do lessc.exe -x "%%~i" "%%~dpni.css"
...
于 2013-03-25T04:22:58.507 に答える