2012-07-26 87 views
0

我目前正在嘗試編寫一個批處理文件來在Windows中構建我的項目。該項目是用Stylus構建的。手寫筆被安裝了node.js和-g標誌手寫筆結束批處理執行

每當我用stylus命令運行我的批處理文件時,手寫筆調用後沒有任何命令被執行。就像手寫筆調用的完成迫使窗口關閉一樣,即使自己運行命令也不會關閉窗口。

這裏是我的腳本:

set sourcedir="d:\Projects\Travnet\Web\source" 
set destdir="d:\Projects\Travnet\Web\package" 

::clean up the lackage dir 
rmdir /q /s %destdir% 
md %destdir% 

:: Duplicate all images for the package 
xcopy %sourcedir%\assets\img\* %destdir%\img\ /y 


::compress the stylus css 
::-c is the source, -o is the output dir 
if not exist %destdir%\css md %destdir%\css 
stylus -c %sourcedir%\assets\styl -o %destdir%\css 
::type %destdir%\css\* > %destdir%\css\styles.css 
copy /b %destdir%\css\* %destdir%\css\styles.css 

pause 

正在執行無論是複製命令,也沒有暫停命令。如果我將stylus命令註釋掉,它們將被執行。手寫筆命令正在輸出文件,所以我不知所措。

有沒有人kinow爲什麼手寫筆執行強制我的腳本結束執行?

回答

2

stylus很可能是一個批處理文件。你要調用其他批處理文件與call,否則,控制不會返回到調用批處理:

call stylus -c ... 
+0

正如我敢肯定你懷疑,這是我的問題。感謝您幫助newb! – user1026361 2012-07-26 17:11:47

+0

這是經常出現的東西,尤其是使用需要解釋器的語言編寫的工具。開發人員通常認爲提供批處理文件就足夠了,這樣您就可以保存Java調用,但它會在批處理文件中帶來問題,然後:) – Joey 2012-07-26 17:41:50