RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 
 19  1/2  1  2  > 


 
主題: [求助] [問題]一個DOS的問題   字型大小:||| 
5214
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13


 . 積分: 583
 . 文章: 514
 . 收花: 5323 支
 . 送花: 458 支
 . 比例: 0.09
 . 在線: 2945 小時
 . 瀏覽: 30962 頁
 . 註冊: 7102
 . 失蹤: 9
#1 : 2008-8-6 09:16 PM     只看本作者 引言回覆

小弟想請要一下
不知道在MS-dos底下如何使用環境變數呢
其實小弟是想要用DIR指令產生一個檔名
ex
dir d:\ > d:\test"時間".txt
小弟想要產生一個檔名為test且"時間"為當時的時間
小弟有用過
dir d:\ > d:\test"%TIME"txt
不過不行
不知道怎麼克服這個問題呢
勞煩高手解答^^



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
badcat
銀驢友〔初級〕
等級: 12等級: 12等級: 12
壞喵

 . 積分: 541
 . 精華: 3
 . 文章: 837
 . 收花: 3874 支
 . 送花: 982 支
 . 比例: 0.25
 . 在線: 3330 小時
 . 瀏覽: 62312 頁
 . 註冊: 7246
 . 失蹤: 178
#2 : 2008-8-6 10:31 PM     只看本作者 引言回覆

Ex: for /F "tokens=1-4 delims=:." %%i IN ("%TIME%") do set timestamp=%%i%%j%%k_%%l
(環境: Windows 2000/XP 以上限定。)

請 "for /?" 看詳細說明,檔案剖析/字串剖析。(說實在話,MS 的說明都有一點不知所云?請用力了解!)

[badcat 在  2008-8-6 10:38 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
5214
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13


 . 積分: 583
 . 文章: 514
 . 收花: 5323 支
 . 送花: 458 支
 . 比例: 0.09
 . 在線: 2945 小時
 . 瀏覽: 30962 頁
 . 註冊: 7102
 . 失蹤: 9
#3 : 2008-8-7 12:19 AM     只看本作者 引言回覆

感謝您的回覆
不過老實說
小弟是要用DIR產生的檔名有時間
不過感覺上這應該是使用for迴圈
應該不太相關吧??



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
badcat
銀驢友〔初級〕
等級: 12等級: 12等級: 12
壞喵

 . 積分: 541
 . 精華: 3
 . 文章: 837
 . 收花: 3874 支
 . 送花: 982 支
 . 比例: 0.25
 . 在線: 3330 小時
 . 瀏覽: 62312 頁
 . 註冊: 7246
 . 失蹤: 178
#4 : 2008-8-7 08:30 AM     只看本作者 引言回覆

壞喵 只給了您「魚竿」喔!要怎樣釣上魚,自己得稍微努力一下呦!(好險!還以為會被 樓主 您臭罵一頓!)

提示: %TIME% 環境變數中間有 ":" (冒號) 例外字,":" 不能做為檔案名稱。(22:18:45.39)

其它就看您發揮了!

[badcat 在  2008-8-7 08:36 AM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
RetupmocSoft
銀驢友〔初級〕
等級: 12等級: 12等級: 12


今日心情

 . 積分: 356
 . 文章: 1171
 . 收花: 2660 支
 . 送花: 731 支
 . 比例: 0.27
 . 在線: 1193 小時
 . 瀏覽: 7870 頁
 . 註冊: 7276
 . 失蹤: 878
#5 : 2008-8-7 10:59 AM     只看本作者 引言回覆

把冒號改為減號或底線
這樣就符合 DOS 8.3 的命名規則啦.....



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
fishwater
鐵驢友〔初級〕
等級: 4
默白

十週年紀念徽章(六級)  

 . 積分: 30
 . 文章: 128
 . 收花: 138 支
 . 送花: 225 支
 . 比例: 1.63
 . 在線: 825 小時
 . 瀏覽: 6901 頁
 . 註冊: 6846
 . 失蹤: 2134
 . 台灣
#6 : 2008-8-7 12:48 PM     只看本作者 引言回覆

set dt=%date:/=%_%time::=%
set dt=%dt: =%
mkdir D:\test\%dt%  
(上面這一段是抓日期出來且建一個資料夾)

dir d: >>D:\test\%dt%\abc.txt'"
(上面為例子,將你想要的資料存到那個日期的資料夾內)

這是之前測試需要弄得.....不知道對你合不合適??!!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
badcat
銀驢友〔初級〕
等級: 12等級: 12等級: 12
壞喵

 . 積分: 541
 . 精華: 3
 . 文章: 837
 . 收花: 3874 支
 . 送花: 982 支
 . 比例: 0.25
 . 在線: 3330 小時
 . 瀏覽: 62312 頁
 . 註冊: 7246
 . 失蹤: 178
#7 : 2008-8-7 02:53 PM     只看本作者 引言回覆

fishwater 的方法比 壞喵 的更漂亮,就用 fishwater 的方法吧!(高手!高手!高高手 啊!)
(5214 記得要送花給 fishwater呀!)

問題 1 : 壞喵 倒是想問 fishwater,這技巧是在哪裏進修的啊?(MS 說明檔中有嗎?)

[badcat 在  2008-8-7 03:09 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
badcat
銀驢友〔初級〕
等級: 12等級: 12等級: 12
壞喵

 . 積分: 541
 . 精華: 3
 . 文章: 837
 . 收花: 3874 支
 . 送花: 982 支
 . 比例: 0.25
 . 在線: 3330 小時
 . 瀏覽: 62312 頁
 . 註冊: 7246
 . 失蹤: 178
#8 : 2008-8-7 03:01 PM     只看本作者 引言回覆


引用:
fishwater寫到:
set dt=%date:/=%_%time::=%
set dt=%dt: =%
mkdir "D:\test\%dt%"
(上面這一段是抓日期出來且建一個資料夾)

dir d:\ >> "D:\test\%dt%\abc.txt'"
(上面為例子,將你想要的資料存到那個日期的資料夾內)

這是之前測試需要弄.....不知道對你合不合適??!!

順便來抓漏一下!(貓 賊笑中...)

問題 2 :不過第二行是多餘的嗎? set dt=%dt: =%
有必要再剖析第二遍嗎?(和 第一行的 「set dt=%date:/=%_%time::=%」 分隔符號 ": =" 不是已經重覆了嗎?)

[badcat 在  2008-8-7 11:36 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
5214
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13


 . 積分: 583
 . 文章: 514
 . 收花: 5323 支
 . 送花: 458 支
 . 比例: 0.09
 . 在線: 2945 小時
 . 瀏覽: 30962 頁
 . 註冊: 7102
 . 失蹤: 9
#9 : 2008-8-7 06:35 PM     只看本作者 引言回覆

首先感謝兩位高手的教學
不過DOS的語法真是讓我有點亂阿
真是不習慣 明明就是很簡單的程式
但是看起來就覺得很模糊
順便回覆batcat上面的問題
問題 2 :不過第二行是多餘的嗎? set dt=%dt: =%
有必要再剖析第二篇嗎?(和 第一行的 「set dt=%date:/=%_%time::=%」 分隔符號 ": =" 不是已經重覆了嗎?)
有這一行與沒有這一行的結果是日期DATA與時間TIME之間有無空白
若沒有這一行 他們之間會有空白
若有則不會有空白
這是小弟測試的結果^^
不過不確定
還有dir d:\ >> "D:\test\%dt%\abc.txt'"
多了「'

[5214 在  2008-8-7 06:56 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
badcat
銀驢友〔初級〕
等級: 12等級: 12等級: 12
壞喵

 . 積分: 541
 . 精華: 3
 . 文章: 837
 . 收花: 3874 支
 . 送花: 982 支
 . 比例: 0.25
 . 在線: 3330 小時
 . 瀏覽: 62312 頁
 . 註冊: 7246
 . 失蹤: 178
#10 : 2008-8-7 08:15 PM     只看本作者 引言回覆

一. 空白的問題:
set dt=%date:/=%_%time::=%

壞喵 的電腦秀出 %dt% 時不會有空白,不過因為 壞喵 有調整過日期/時間的格式。( 控制台\地區及語言選項\地區選項\標準及格式\自訂\(時間\日期) )

壞喵 的電腦秀出:2008-08-07 19:59:59.29 轉換後 2008-08-07_195859.29
(沒有空白)

貓 猜可能是預設的 %DATE% 或 %TIME% 的格式中,前後有空白?(不確定?)
或是不會補 0 ? (Ex: 23: 8:17.03 != 23:03:17.03)

也因為如此,所以 壞喵 幫忙抓漏 -> mkdir "D:\test\%dt%"
這樣萬一產生「空白」等無法連貫的路徑字元時,雙引號 " 可以含括成一個完整的路徑字串。(Windows 2000/XP 必備符號)


二. 分隔字串 加上 空白 的改良:
(2008-08-07_2316 訊,壞喵 此例的方法是錯的,故註銷。)(笑!)


三. 該「環境變數直接做『分隔字串』的剖析法」從哪學到的?

謝謝 fishwater 的教導,不過 壞喵 上面的問題: (修 2008-08-07_2314)

問題 1 : set dt=%date:/=%_%time::=%

棕色 標出的技巧 fishwater 您到底是從哪學來的?壞喵 從 MS 官方的說明檔都沒看到過耶!還望 fishwater 釋疑啊!(貓 真的好想知道!) (修 2008-08-07_2314)

[badcat 在  2008-8-7 11:40 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
5214
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13


 . 積分: 583
 . 文章: 514
 . 收花: 5323 支
 . 送花: 458 支
 . 比例: 0.09
 . 在線: 2945 小時
 . 瀏覽: 30962 頁
 . 註冊: 7102
 . 失蹤: 9
#11 : 2008-8-7 11:06 PM     只看本作者 引言回覆

喝喝
其實小弟不知道這種技巧
是看了fishwater 的教學後照他的改的啦
畢竟小弟是個超級肉腳
因此我也不知道她是如何學習到的
可能要請教他吧^^
對了 順便一提
不知道各位是否知道DOS有比對檔案內容的指令嗎
就是假使有兩個檔案
1.txt 內容
1
2
3
2..txt內容
1
1
2
2
3
是否有類似linux的diff指令
能辨識出這兩個檔案內容不同的地方
然後可以輸出不同的地方為
1
2
(此兩行為2.txt不同處)
麻煩高手告知^^



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
badcat
銀驢友〔初級〕
等級: 12等級: 12等級: 12
壞喵

 . 積分: 541
 . 精華: 3
 . 文章: 837
 . 收花: 3874 支
 . 送花: 982 支
 . 比例: 0.25
 . 在線: 3330 小時
 . 瀏覽: 62312 頁
 . 註冊: 7246
 . 失蹤: 178
#12 : 2008-8-7 11:21 PM     只看本作者 引言回覆

壞喵 的確是想問 fishwater:「環境變數直接做『分隔字串』的剖析法」從哪學到的?搞錯對象成 5214,5214 對不起!

至於 5214 上面的 檔案比較內容 問題,可以使用:
comp /?
fc /?

這兩個 批次檔 指令,看看那個指令比較適合您?

[badcat 在  2008-8-7 11:34 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Jonson
金驢友〔初級〕
等級: 16等級: 16等級: 16等級: 16
藏雲

今日心情

 . 積分: 1796
 . 文章: 1756
 . 收花: 15380 支
 . 送花: 6709 支
 . 比例: 0.44
 . 在線: 5889 小時
 . 瀏覽: 77021 頁
 . 註冊: 7295
 . 失蹤: 41
#13 : 2008-8-8 12:17 AM     只看本作者 引言回覆

SET /?


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
coke555
銅驢友〔中級〕
等級: 9等級: 9等級: 9


十週年紀念徽章(四級)  

今日心情

 . 積分: 145
 . 文章: 190
 . 收花: 327 支
 . 送花: 517 支
 . 比例: 1.58
 . 在線: 2943 小時
 . 瀏覽: 102650 頁
 . 註冊: 7998
 . 失蹤: 30
#14 : 2008-8-8 12:29 AM     只看本作者 引言回覆

剛才玩了一下,發現星期x很刺眼,就改了一下試看看
有興趣的人試一下吧


set dt=%date:/=%_%time::=%
mkdir "D:\test\%dt%"

set dt=%dt: =%
set dt=%dt:星=%
set dt=%dt:期=%
set dt=%dt:一=%
set dt=%dt:二=%
set dt=%dt:三=%
set dt=%dt:四=%
set dt=%dt:五=%
set dt=%dt:六=%
set dt=%dt:日=%
mkdir "D:\test\%dt%"

dir d:\ >> "D:\test\%dt%\abc.txt"



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
badcat
銀驢友〔初級〕
等級: 12等級: 12等級: 12
壞喵

 . 積分: 541
 . 精華: 3
 . 文章: 837
 . 收花: 3874 支
 . 送花: 982 支
 . 比例: 0.25
 . 在線: 3330 小時
 . 瀏覽: 62312 頁
 . 註冊: 7246
 . 失蹤: 178
#15 : 2008-8-8 12:50 AM     只看本作者 引言回覆


引用:
Jonson寫到:
SET /?

哈!哈!玩了 批次檔 這麼久,竟沒注意到 SET 有此功能,看到 壞喵 還要努力修煉啊!(MS 的說明檔果然讓人不知所云啊!希望能多點範例啊!)

謝  Jonson 的開示!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

 19  1/2  1  2  > 
   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-5-1 02:56 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.029316 second(s), 6 queries , Qzip disabled