VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

foxpro在2000裡面的DIR指令不正常

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
tdt



註冊時間: 2003-06-14
文章: 12


第 1 樓

發表發表於: 星期六 六月 14, 2003 9:56 pm    文章主題: foxpro在2000裡面的DIR指令不正常 引言回覆

請問一下為何在win2000系統中執行!DIR>dir.txt指令結果,所出現的檔名都是8.3規格,似乎不會辨識中文長檔名!但是在DOS模式下dir指令卻是沒有問題的。如果我要在foxpro中取得所有的檔名列表(不能用list,因為該結果並未分行),應該用什麼指令呢?請高手指點一下吧!
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 2 樓

發表發表於: 星期日 六月 15, 2003 12:05 am    文章主題: 引言回覆

dime mfilelist[1]
mtotfile = adir( mfilelist , '*.*')
for i=1 to mtotfile
? mfilelist[i,1]
next

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
tdt



註冊時間: 2003-06-14
文章: 12


第 3 樓

發表發表於: 星期日 六月 15, 2003 9:56 am    文章主題: 引言回覆

以前在98中執行下列外部指令就可以很方便的將某一目錄以及該目錄下子目錄中的某一種檔名全部寫入一個檔案中。
! dir *.htm>dir.txt /b/s
結果如下:其中包括了檔名以及各目錄
e:\td2\a1\41.htm
e:\td2\a1\58.htm
e:\td2\a2\e41.htm
e:\td2\a2\e58.htm
e:\td2\a2\law.htm
e:\td2\a3\enshlawen.htm
但即使是用您所提供的指令,卻無法抓到子目錄中的檔案,如果要抓到,我相信並不難,但總是要加一些程式,我很多的程式可能都要改。請問有沒有辦法仍然使foxpro在2000中執行dir指令而可顯示長檔名的方法,好奇怪,在98可以,2000中卻不行!而在2000的C:\視窗下卻又沒問題。感謝提供解答
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 4 樓

發表發表於: 星期日 六月 15, 2003 5:25 pm    文章主題: 引言回覆

因為FOXPRO在WIN2K模式下是使用 c:\winnt\system32\command.com , 而在自己開啟的MSDOS模式是使用 c:\winnt\system32\cmd.exe , 兩者是不一樣的程式, 有兩程方式可以解決你的困擾, 一. copy cmd.exe command.com ( 不是很安全的作法, 二.修改foxrun.pif , 請自己去找到這個檔案, 應該是放在跟vfp6.exe 一起.
_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
tdt



註冊時間: 2003-06-14
文章: 12


第 5 樓

發表發表於: 星期日 六月 15, 2003 9:12 pm    文章主題: 引言回覆

感謝您的回應,可是pif檔案要怎樣製作與修改,我找過網路可是沒找到,以前記得好像有個程式可以處理,很久沒用,怎麼想都想不起來。
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 6 樓

發表發表於: 星期日 六月 15, 2003 10:27 pm    文章主題: 引言回覆

找到那個.pif , 按滑鼠右鍵選內容就可以改了.
_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
tdt



註冊時間: 2003-06-14
文章: 12


第 7 樓

發表發表於: 星期一 六月 16, 2003 8:22 am    文章主題: 引言回覆

謝謝啦。
回頂端
檢視會員個人資料 發送私人訊息
sunghsia



註冊時間: 2003-06-13
文章: 52
來自: 台北

第 8 樓

發表發表於: 星期六 十月 30, 2010 8:01 pm    文章主題: 引言回覆

* 1. 拷備至*.prg
*-------------------------------------------------------------
* 2. 建一個批次檔 0.BAT , 解決 RUN DIR 無法顯示中文的問題
* 3. 0.BAT 內容為: dir /s/a/b c:\ >c:\000000.txt


dele file c:\000000.txt &&刪除舊的000000.txt檔 (注意0.BAT內000000.txt的所在路徑)

DECLARE INTEGER WinExec in kernel32; &&不要用VFP的 RUN 0.BAT 執行, 要改用 API 呼叫才會顯示中文
STRING,; &&可執行檔
INTEGER &&視窗大小: 1預設 2最小 3最大
= WinExec("0.BAT", 2) && 執行0.BAT , 0.BAT最好能和這個.prg存在同一個目錄, 好管理也不用指定路徑

do while !file("c:\000000.txt") &&等待000000.txt建立完成 (注意0.BAT內的000000.txt路徑)
enddo
wait timeout 2 &&拖一下2秒 (此列最好留著, 這樣下面的 "匯入文字檔" 才能完全匯入)

create cursor tmp (fieldname c(254)) &&建立暫存檔 (注意 254長度,是否不夠長)
append from c:\000000.txt SDF &&匯入文字檔 (注意0.BAT內000000.txt的所在路徑)
brow

* = WinExec("notepad c:\000000.txt", 3) &&檢視 000000.txt 內容
回頂端
檢視會員個人資料 發送私人訊息
sunghsia



註冊時間: 2003-06-13
文章: 52
來自: 台北

第 9 樓

發表發表於: 星期六 十月 30, 2010 9:07 pm    文章主題: 引言回覆

* 自動化, 不用在去建立批次檔和指定目錄, 只要執行本.prg就可以了
*-----------------------------------------------------------------

d= "c:\" && DIR所要尋找的檔案或目錄 (可改成 GETFILE 或 GETDIR 取得)
p= substr(sys(16) , at(":",sys(16))-1) && 取得本程式的目錄
p= left(p , rat("\",p)-1)

c= fcreate("&p.\0.BAT") && 建立批次檔, 並取得檔案控制碼
if c <0
wait windows "無法建立 0.BAT 批次檔"
RETURN
endif
fputs(c, "dir /s/a/b &d >&p.\000000.txt") && 寫入 0.BAT 內容
fclose(c) &&釋放0.BAT

DECLARE INTEGER WinExec in kernel32; && 不要用VFP的 RUN 0.BAT 執行, 要改用 API 執行才會顯示中文
STRING,; &&可執行檔
INTEGER &&視窗大小: 1預設 2最小 3最大

= WinExec("&p.\0.BAT", 2) && 執行0.BAT

do while !file("&p.\000000.txt") && 等待000000.txt建立完成
enddo
wait timeout 6 && 拖一下2秒 (此列最好留著, 這樣下面的 "匯入文字檔" 才能完全匯入)

create cursor tmp (fieldname c(254)) && 建立暫存檔 (注意 254長度,是否不夠長)
append from &p.\000000.txt SDF && 匯入文字檔
brow

* = WinExec("notepad &p.\000000.txt", 3) && 檢視 000000.txt 內容
dele file &p.\000000.txt && 刪除生成的檔案
dele file &p.\0.BAT && 刪除生成的檔案
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作