Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows教程綜合 >> 關於windows >> Windows .bat 文件中執行 Groovy 腳本

Windows .bat 文件中執行 Groovy 腳本

日期:2017/2/7 13:55:35      編輯:關於windows
 

Windows 腳本中執行 Groovy 代碼有時候還是很方便的,調用的方式可以參考這篇文檔。
如想得到uuid,可以用:

groovy -e "println(UUID.randomUUID().toString())"
echo "groovy execution finished!"
但如果安裝的 Groovy 版本不是 Windows-Installer 的話,在 .bat 裡面調用 Groovy 腳本會碰到麻煩,就是執行到上面的腳本之後,接下去的腳本 echo 就不會被執行,.bat 就直接退出了。

查了下,找到了原因 (參考)。原來是 Windows-Installer 安裝的是 groovy.exe,而 zip release 的版本是 groovy.bat,就是另一個bat腳本,如果不用 call 的話,就會導致程序的控制權到了 groovy.bat 中,從而 Groovy 腳本執行結束了就直接退出了。

"The 'groovy' command actually is a batch file whose full name is 'groovy.bat' but under the Windows command prompt it's OK to not specify the '.bat' part. When you don't use 'call' to transfer control to another batch file but just use the name of the file then there's no way to return..."


同參考的文章,解決這個問題的辦法有2個:

1. 安裝 Windows-Installer 版本的 Groovy,而不是 zip 版本的,因為前者有 Native Launcher。

2. 把上面的腳本改為:
call groovy -e "println(UUID.randomUUID().toString())"
echo "groovy execution finished!"

Copyright © Windows教程網 All Rights Reserved