我有以下目錄結構。構建紅寶石寶石的批處理腳本
build
-build.bat
package
-gems
-abc.gem
-xyz.gem
-install.sh
plugins
-abc
-abc.gemspec
-xyz
-xyz.gemspec
我想在構建文件夾中編寫批處理文件build.bat。 應該執行的任務是:
- 刪除包中的任何以前的文件/寶石夾
plugins文件夾中的每個子目錄裏面,執行
gem build *.gemspec
此命令將創建一個寶石文件在同一個目錄中。
- 移動創建打包寶石文件/文件夾的寶石
我一直在經歷批處理編程語法,我甚至不知道這是否可以通過批處理腳本或無法實現。我怎樣才能編寫一個批處理腳本來完成這些任務?
[編輯]
一些基本的研究後,我能夠完成很多的任務。
@echo on
cd..
set CUR_DIR=%cd%
set GEMS_DIR=%CUR_DIR%\Package\gems
set PLUGINS_DIR=%CUR_DIR%\Plugins
del /f/s/q/a %GEMS_DIR%\
cd %PLUGINS_DIR%
for /d %%D in (*) do (
pushd %%~fD
gem build *.gemspec
move *.gem %GEMS_DIR%
popd
)
但是,move命令複製.gem和.gemspec文件。我如何限制它只移動.gem文件?此外,最後一個括號後面添加的任何行都不會執行。 任何其他改進將不勝感激。謝謝。
[EDIT2]
的福爾循環i之後添加的任何線沒有被執行。在添加了call
寶石命令之後,一切正常。
這很可能是可以完成的 - 而且很容易。但是,該網站不是免費的代碼寫入服務。請編輯您嘗試使用'edit'工具將問題解決到您的帖子中,然後如果遇到任何問題,我們可能會嘗試將其磨合到運行狀態。 – Magoo
@Magoo感謝您在批處理腳本中進行自己的研究的動力。喜歡你的個人資料中的這一行 - 「我不介意解決愚蠢和明顯的問題。保持我的灰色物質剩下的東西不會固化。「 –
最後一個括號後面的行?正如尼爾森可能會說的:「我看不到任何線......」 – Magoo