2010-07-08 293 views
11

我在我的Mac上有一個bash shell腳本,我需要將其轉換爲.bat文件(至少,這是我所瞭解的)用於PC上的用戶。我想知道這個最好的方法,或者如果有人知道任何好的參考。我似乎並沒有要求Google提出正確的問題來指引我走向正確的方向。如何將bash shell腳本轉換爲.bat文件?

具體來說,像我將如何做?

cd ~/Documents/DropFolder 

(...的地方〜/等於用戶的主目錄的根目錄,無論用戶的名字)?

或者,工作變量時,和 「做」 的語句...

for i in *.xml 
do 
    java -Xss650K -Xms128m -Xmx2048m -jar /Applications... 
done 

最後,鑑定和使用基本名稱...

cp -p `basename $i .xml`.xml ~/Documents/ReadyForServer/`basename $i .xml`/ 

感謝您的任何指導或建議其他方案。 LO

+0

我覺得這個環節是對你有用。它包含shell腳本和bat文件的比較表。 http://tldp.org/LDP/abs/html/dosbatch.html – SANN3 2012-09-11 11:41:50

回答

10

實際上,你提到的東西對於移植到Windows批處理文件是微不足道的。雖然你肯定可以使用Windows端口的所有Unix工具(或者甚至可以使用一個仿真層更有趣),這是不難做到:

  1. 〜用戶的主文件夾

    用戶的配置文件駐留在環境變量%USERPROFILE%,所以下面應該這樣做:

    cd %USERPROFILE%\Documents\DropFolder 
    
  2. 它erating在一組文件

    for命令是很有幫助的位置:

    for %%i in (*.xml) do -Xss650K -Xms128m -Xmx2048m -jar ... %%i 
    

    顯然,你需要適應的路徑,JAR文件,但。

    for有更多的用途,所以看看help for以及。

  3. 基名

    你需要做到這一點無論在子程序或for循環,如下面的語法特定循環變量或參數。它不會像環境變量那樣工作。你可以通過使用%%~ni得到basename給你的東西,其中%%i如果循環變量或%~n1如果%1是你有的子程序或批處理文件的參數。因此,下面可能會做同樣的:

    copy "%%~ni.xml" "%USERPROFILE%\Documents\ReadyForServer\%%~ni\" 
    

    上的幫助for擁有接近尾聲那些事情的詳細信息。

+2

是否有任何轉換工具? – Razavi 2015-08-08 07:53:21

3

Windows外殼比bash shell的不同的腳本語言。你將需要移植它。或者,你可以使用類似cygwin或mingw的東西在Windows上運行bash shell。

+2

第一句話其實很明顯。第二個是 - 雖然可能有幫助 - 在這裏他們想要的方式矯枉過正... – Joey 2010-07-08 05:20:18

0

在編寫DOS樣式的批處理文件時,F1的窗口幫助非常有用。在Windows桌面上,點擊F1並搜索批處理。使用批處理參數的鏈接對於使用DOS進行奇怪的技巧非常有用。 '使用批處理文件'頁面也很好。正如其他海報所說,你最好避免批量作爲你的實現語言,但如果你必須的話,你必須。

0

你應該手工轉換。學習批處理命令,然後執行相同的操作。或者,您可以使用GNU win32 unix工具。

2

你也可以使用git的Windows,它已經內置在Bash shell(GitBash)