Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows教程綜合 >> 系統常見問題解答 >> windows下實現在bat中啟動s h e l l

windows下實現在bat中啟動s h e l l

日期:2017/1/20 17:47:50      編輯:系統常見問題解答
因為需要用到cygwin,來執行 每日定時任務   有一種cygwin 裡面安裝定時任務來完成。   但是在windows下或許會比較麻煩,考慮到windows自身有計劃任務,如果能將制定計劃任務,每天按時啟動應用程序,或者bat腳本。   因為腳本是shell腳本,所以在windows下是無法直接執行的,只能通過cygwin。   所以必須現在 bat中啟動cygwin,編寫bat文件:   1 @echo off 2 rem change to d: 3 d: 4 rem change the dir 5 chdir D:\cygwin\bin 6 echo "begin..." 7 rem start the cygwin and run the shell file. 8 D:\cygwin\bin\mintty.exe /home/scripts/webFunc 出現一個問題:啟動cygwin後,無法運行命令,困擾了好幾天。一直不知道為什麼直接啟動快捷方式可以運行,但是通過bat啟動就無法找到“ls,find,mkdir”等命令。。一開始一直以為是bat中需要給cygwin傳遞一些參數,查看它的快捷方式,並沒有發現很特別的參數。 一直到剛才,才意識到是環境變量的問題,於是在環境變量的path後追加 cygwin\bin;問題解決了。   一個需要注意的小地方,我的shell腳本中有用到find, 而windows下find也是有的。所以系統默認使用的是windows下的find命令,於是總是報出一個“參數錯誤”的異常。  將shell中的find 改為 /user/bin/find 後,問題解決,好在我的腳本並不多,也就兩三個地方用的find。更改後正常執行。   另外就是腳本中用到mysql ,所以需要安裝mysql 並添加環境變量。   從linux下移植到windows,聽起來很簡單的事情,做的時候遇到的問題還是挺多,還有一個問題就是代碼中出現路徑的問題。 當初寫代碼的同學將所有查找配置的路徑都是寫死的,/home/...現在移植到的時候,只要自己手動全改成windows能識別的。  以後也要多注意,盡量路徑也符合 posix標准。
Copyright © Windows教程網 All Rights Reserved