English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

這是我ㄧ個長輩以前用的程式檔,
他因為換了新的XP系統和電腦,
10年前在95系統用的程式檔不能用了(原因好像卡在中文的問題),
他老人家不習慣其它設計好的軟體來用(怎麼告訴他,他都覺得不好),
他要我幫他上網找人幫忙,讓它可以像以前一樣方式使用。

他之前使用的程式內容如下,無法在XP下執行QBASIC的程式,

CLS
OPEN "C:\\DAY.BAT" FOR OUTPUT AS #1
PRINT #1, "echo off"
PRINT #1, "cls"
PRINT #1, "SET DAY="; MID$(DATE$, 1, 2); MID$(DATE$, 4, 2)
PRINT #1, " "
CLOSE #1

他們家沒有電腦可以上網,所以有回答之後,我還要向他說明,
請大大們盡量簡單說明,因為我實在不懂程式設計。

PS~請別問我為什麼他要堅持要用這方式使用,
因為老人家的習慣,我實在很難去勸動。

以下是他的問題,請高手幫幫忙回答,謝謝!

1.這個程式主要是在 c:\\ 下面自動成立一個批次檔案,名稱為DAY.BAT,
如果能編譯成執行檔,每當我執行時,這個執行檔會自動在批次檔案內
將當天的月日放在=的後方! 假設今天為10月10日,我一執行執行檔,
這個執行檔會在C:\\成立一個day.bat檔,檔內會有 SET DAY= 1010

由於qbasic4.5是中文版,xp系統之命令提示字元不附具有中文功能,
所以這個DAY.bas編譯成day.exe後,無法在xp之命令提示字元執行,不
知有何方法可以突破這問題? 建議我需要再學何種語言就可以寫這樣之
功能程式?

假設...
1.如果能用英文版之qbasic來編譯成執行檔(.exe),是不是可以躲過xp之
命令提示字元限制?(目前我沒有這程式可編譯)

2.如果還是無法將DAY.bas編譯成執行檔,是不是有什麼方法可以來寫這個東西?
只要能在 c:\\ 下面自動成立一個批次檔案,名稱為DAY.BAT如果能編譯成執行
檔,每當我執行時,這個執行檔會在批次檔案內會自動將當天的月日放在= 的
後方! 或者寫一個程式,只要一旦執行,它會xp之命令提示字元中自動會將當
天日期放在 DAY裡面就可以了!

2006-10-03 06:12:21 · 1 個解答 · 發問者 Anonymous in 電腦與網際網路 程式設計

你說的dos命令下的bat檔,該用那個程式來用,我不知道該怎麼解釋呢!他說電腦會顯示這些命令是不存在的。

2006-10-04 20:09:48 · update #1

他說會出現200610,她要月日的,不是年月,因為他是根據月日來歸檔的。因為我執行的結果,是閃一下畫面,但是有看到2006 10,所以我不知道是不是他要的執行效果。真的很難懂。
但是真的很感激你的回答^^~

2006-10-04 20:45:59 · update #2

我試驗結果是出現k 不是日期呢,開啟都會閃畫面,有沒有法子可以定格的呢

2006-10-05 19:29:24 · update #3

我找出問題了,原來你忘記叫我加個,3,所以他都只顯示200610K,後來我有加了之後,他就出現了,而且很感謝你都很耐心回答,我想終於可以幫他解決問題了,也讓我學習到很多,真的很感謝你!

2006-10-06 13:05:02 · update #4

1 個解答

XP 的 DOS 命令遠比 98 強!!
你寫個 day.bat 如下
@FOR /F "TOKENS=1,2 DELIMS=/ " %%I IN ('DATE /T') DO Set DAY=%%I%%J
@Echo %Day%
就可以了!
甚至,第二列都不用。

2006-10-05 08:10:14 補充:
那她的設定可能不太一樣。沒關係,我告訴你改法,你試試:@FOR /F "TOKENS=1,2 DELIMS=/ " %%I IN ('DATE /T') DO Set DAY=%%I%%J的最後加上個%K,會年月日都出來!去掉她不要的年(應該是 %I)就可以了。加油!^_^

2006-10-05 19:25:10 補充:
是在 set DAY 後去掉不要的;不是去掉在 DELIMS 後的!

2006-10-06 11:59:56 補充:
要加 %K 不是加k,K 要大寫(因為前面的I用大寫)
要定格,加,一列 @Pause

2006-10-06 22:52:23 補充:
不好意思,的確是忘了。

2006-10-04 18:16:30 · answer #1 · answered by ? 7 · 0 0

fedest.com, questions and answers