badcat
|
發表於 2007-11-14 02:37 PM |
抱歉,喵喵沒寫清楚,讓您誤解了!
標題上寫上 (藍色字):[求助][已解決]讀取文字檔儲存至 Batch 批次檔的環境變數
這樣標題定義比較清楚,一眼就看出是有「關於 文字檔 匯入 批次檔 環境變數的問題」,
比 [求助][已解決]批次檔的寫法 這標題來的一目暸然。
第二個是:可將此兩種方案編入主題文中
方法一:主題文中直接列出「解法文章」:
這樣壇友就不需到下面一堆回應中去找解答,主題文中就有解答說明。(請附上解答「出處」,以尊重發文者。)
或
方法二:主題文中直接直接列出「解法連接」:
只列出「解法」的「回應」「連接」(Ex: 解法一:http://twed2k.org/viewthread.php?tid=197447&page=1#pid1551871 - by ROACH )
用「本文連接」列出 ROACH & Jonson 「正確解答」回應 的位置即可。比較偷懶,比較輕鬆。(笑!)
P.S. 以上僅是 喵喵 的建議,要怎麼修改主題文,是 hartmann109 您個人的權利。(您高興就好!)
引用: 阿達猴寫到:
我可能會考慮用vb自己寫程式讀檔案...(亂寫= =我是程式新手...)
當然!能用「程式」寫作,執行效率高,彈性佳。
但不是每一個人都會寫「程式」,且你還得找「編譯器」編譯程式等等...問題要解決。
喵喵 個貓 認為,能用「現有」批次檔的工具來做,會比用「程式」門檻來的低。(Ex: VB, C,...),且資源取得方便。(已經內建在作業系統中)
[badcat 在 2007-11-14 03:45 PM 作了最後編輯]
| |
阿達猴
|
發表於 2007-11-14 02:15 PM |
我可能會考慮用vb自己寫程式讀檔案...(亂寫= =我是程式新手...)
| |
hartmann109
|
發表於 2007-11-14 11:44 AM |
引用: badcat建議 hartmann109 可將此兩種方案編入主題文中,並在標題上寫上:「已解決」讀取文字檔儲存至 Batch 批次檔的環境變數。(這標題比較能一目暸然)
以供後人瞻仰。(參考!笑!)[badcat 在 2007-11-14 09:32 AM 作了最後編輯]
已經弄好了,給各位鮮花奉上~
| |
badcat
|
發表於 2007-11-14 09:16 AM |
ROACH 的方法,可算是一個取巧的方法,但是有效。(取的好!)
而 Jonson 的方法,是比較正統的做法,但要注意此 FOR 指令僅能用於 Windows 2000/XP 以後才能使用。(新型的內建指令 FOR)
若考慮該批次檔要給別人,喵喵 會使用 ROACH 的方法。(沒有作業系統版本的問題)
若考慮該批次檔要自用,喵喵 會使用 Jonson 的方法。(不需寫入硬碟效率較高)
對不起,壞喵 還來不及找,兩位大人就已經有解決方案了。(看來 貓 的批次檔功力老化了!笑!)
集眾人的力量解決問題的感覺還真好!
建議 hartmann109 可將此兩種方案編入主題文中,並在標題上寫上:「已解決」讀取文字檔儲存至 Batch 批次檔的環境變數。(這標題比較能一目暸然)
以供後人瞻仰。(參考!笑!)
[badcat 在 2007-11-14 09:32 AM 作了最後編輯]
| |
Jonson
|
發表於 2007-11-13 11:27 PM |
FOR /F "usebackq" %%i in ("123.txt") do set gamepath=%%i
| |
hartmann109
|
發表於 2007-11-13 11:06 PM |
ROACH兄你提的文章我很早就看過,不過一直看不懂
現在你一講解俺就懂了,感謝啦...
| |
ROACH
|
發表於 2007-11-13 10:39 PM |
引用: hartmann109寫到:
最近在學BAT檔的撰寫法,有些問題想問問…
如果我創建了一個純文字檔案 123.txt
想在批次檔中自動讀取它的內容,並且設為環境變數
應該如何撰寫
EX: 123.txt 內容為 C:\Games\
而我想把環境變數 %gamepath% 設成123.txt的內容~這樣
有人能教我一下嗎?
參考這個網址的作法
http://support.microsoft.com/kb/66292/zh-tw
你可以這樣作
1.建立一文字檔內容為 set gamepath =
這個文字檔檔名就設定a.txt好的
2.建立一個批次檔如下~~檔名隨便
@echo off
copy a.txt+123.txt setgp.bat /y
setgb.bat
[ROACH 在 2007-11-13 10:41 PM 作了最後編輯]
| |
icon
|
發表於 2007-11-13 10:33 PM |
在windows中
欲使用環境變數
請設定windows的系統變數(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment內)
或該登入使用者名稱的使用者變數(HKEY_CURRENT_USER\Environment內)
因為批次檔所產生及設定修改的的環境境變數
其生命週期及影響範圍
只存在在該shell(command,cmd或現在windows自己稱為命令直譯器)結束前與其所呼叫的程式
另外
用批次檔套用劇本並不是大問題,配合輸出入符號即可
--
windows的環境變數
於控制台->系統->進階->環境變數中修改
欲簡化動作
用批次檔者請配合reg外部命令
用script者
請用wscript支援的script語言
如vbs...等
利用宣告registry物件進行registry的變更
使用第三方程式
在下孤陋寡聞,不知道有這方面的程式,不過寫一隻其實不困難,因為有api可以引用
[icon 在 2007-11-13 10:38 PM 作了最後編輯]
| |
hartmann109
|
發表於 2007-11-13 08:06 PM |
badcat兄臺說的是
看來要用第三方程式輔助才可以了
因為123.txt裡的內容可能會改變(會機動調整)
所以遊戲的路徑也會改變
因此我才需要一個批次檔可以讓我藉由修改txt裡的路徑,再重新存成變數…
然後再套用其他程式(例如Y.A.S.U)這樣~
順便請問一下,badcat兄可以幫我找找這種程式嗎
[hartmann109 在 2007-11-13 08:08 PM 作了最後編輯]
| |
badcat
|
發表於 2007-11-13 05:11 PM |
上面兩個例子都不對!
樓主的意思是:
123.txt 內容為 C:\Games\
類似將 set gamepath = c:\games\
但 C:\Games\ 字串得從 123.txt 取出,把 123.txt 的內容 "C:\Games\" 設定成環境變數 %gamepath% 的數值,而不是像上面的命令直接設定。
一般 Batch 批次檔內沒有這種命令,記得要用這種方法,得另外找「命令列工具」程式。
得找「從檔案中設定環境變數」的程式,大概類似 像這樣的程式。(下面的隨便舉例,非真實例子)
Ex: GetFileEnvSet.exe /S: gamepath /F:"123.txt"
這樣各位客倌看的懂嗎?
[badcat 在 2007-11-13 07:55 PM 作了最後編輯]
| |
本主題回覆較多,請 點擊這裡 檢閱。 |