bat的執行





頁 : 1 2 3 [4] 5

vvcvc
2011-01-25, 09:32 PM
今日詢問一個寫軟體的同事
他是寫VB
用的方法是建立一個log檔案
每建立一個檔案就將他list到該log檔
然後達到比對的數量後就由程式抓取log檔的第一筆資料來比對檔名並做刪除的動作
建立檔案再把新的名稱寫入該log檔尾端
感覺這方法好像不錯
不知批次檔有沒有辦法達成




bx2aa
2011-01-25, 09:58 PM
今日詢問一個寫軟體的同事
他是寫VB
用的方法是建立一個log檔案
每建立一個檔案就將他list到該log檔
然後達到比對的數量後就由程式抓取log檔的第一筆資料來比對檔名並做刪除的動作
建立檔案再把新的名稱寫入該log檔尾端
感覺這方法好像不錯
不知批次檔有沒有辦法達成

#30 已經不錯了!

在你的 .reg 尾巴加 && echo ??????.reg>> list.log
這樣是脫褲子放屁!

vvcvc
2011-01-25, 11:40 PM
#30 已經不錯了!

在你的 .reg 尾巴加 && echo ??????.reg>> list.log
這樣是脫褲子放屁!

嗯嗯
FYI的解答雖然有一些看不懂的地方
但已經解決我的問題

只是剛好問過這種方法想知道使用批次檔有沒有辦法實現這個做法

再額外一問...今天查了一下DOS指令
沒看到檢查目錄或檔案是否存在的指令
如果有這需求...該怎麼下指令
批次檔和DOS會一樣嗎?

琥珀
2011-01-25, 11:59 PM
IF [NOT] EXIST filename command

檢查目錄或檔案是否存在的指令

FYI
2011-01-26, 01:15 AM
FYI的解答雖然有一些看不懂的地方
但已經解決我的問題
FOR /F "skip=500 tokens=1" %%i IN ('DIR /B /O-N 20????????????.reg') DO IF NOT "%%i"=="" DEL "%%i"
最佳驗證方式就是邊做邊學, 把 "%%" 改成 "%", 把 "DEL" 改成安全的 "DIR /B /O-N", 再把數字改小, 然後直接執行並觀察結果:
FOR /F "skip=5 tokens=1" %i IN ('DIR /B /O-N') DO IF NOT "%i"=="" DIR /B /O-N "%i"
在%i 加上雙引號可適用於檔名包含空白

vvcvc
2011-01-26, 10:56 AM
IF [NOT] EXIST filename command
看來我劃蛇添足了
其實我有試過這個指令
但我的對像是folder
測試不出怎麼讓他回傳folder是否存在

vvcvc
2011-01-26, 10:58 AM
最佳驗證方式就是邊做邊學, 把 "%%" 改成 "%", 把 "DEL" 改成安全的 "DIR /B /O-N", 再把數字改小, 然後直接執行並觀察結果:
FOR /F "skip=5 tokens=1" %i IN ('DIR /B /O-N') DO IF NOT "%i"=="" DIR /B /O-N "%i"
在%i 加上雙引號可適用於檔名包含空白
謝謝回覆
我有試過這段程式碼
但%%i是什麼意思比較不懂
所以沒動這個東西
只修改skip後的數字就試出我要的結果了
能否再解釋%%i ?

bx2aa
2011-01-26, 11:23 AM
看來我劃蛇添足了
其實我有試過這個指令
但我的對像是folder
測試不出怎麼讓他回傳folder是否存在
正在找 Cisco L2IOU 的檔案找不到, 所以隨便看看!
看到就隨便回回!
開 CMD
C:\Documents and Settings\UserName>if exist "My Documents" echo Yes
C:\Documents and Settings\UserName>if not exist "My Documents" echo No

bx2aa
2011-01-26, 11:29 AM
謝謝回覆
我有試過這段程式碼
但%%i是什麼意思比較不懂
所以沒動這個東西
只修改skip後的數字就試出我要的結果了
能否再解釋%%i ?

用 %% 夾住會把變數內容帶進去
指定變數 %i 因為在批次檔裏 %i %會被吃掉, 所以要多加一個 %

琥珀
2011-01-26, 06:55 PM
if exist folder1\ (echo y) else echo n

對象是folder