iT邦幫忙

0

登入批次檔

  • 分享至 

  • twitterImage

@echo off
set LCode=%1
If not "%OS%" == "Windows_NT" GoTo 98
net use T: /Delete
net use T: \\(Server名稱)\(分享目錄) /persistent:no
GoTo END
:98
net time "\\(Server名稱)" /set /yes
net use T: \\(Server名稱)\(分享目錄)
:END
rem call \\ZF1BDC\NETLOGON\Check.BAT MIS
call \\ZF1BDC\NETLOGON\InCode9x.BAT %LCode%
EXIT
各位大大~這是我們公司的登入批次檔,而我們登入批次檔依部門有很多個,這是我們部門使用的,但由於有的部門登入批次檔再登入時都會等很久,所以要去更改掉一些東西,但由於本身對這塊非常不熟,只看的懂一點點點東西或指令,所以來此求救...>"<
可否大概說明其每一行指令效果或執行什麼動作?其餘我再依其邏輯研究看看~麻煩大大了

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

22
賽門
iT邦超人 1 級 ‧ 2011-08-12 16:39:26
最佳解答

@echo off (系統回應訊息不會顯示)
set LCode=%1 (設定變數LCode內容為第一個傳入參數值)
If not "%OS%" == "Windows_NT" GoTo 98 (如果系統變數%OS%值不等於"Windows_NT", 就把程式執行順序交到標籤:98後開始, 否則繼續下去)
net use T: /Delete (把網路磁碟機T:中斷)
net use T: \\(Server名稱)\(分享目錄) /persistent:no (設定網路磁碟機T:...下次登入時不還原)
GoTo END (前進到標籤:END)
:98 (標籤:98)
net time "\\(Server名稱)" /set /yes (設定PC的系統時間)
net use T: \\(Server名稱)\(分享目錄) (設定網路磁碟機T:)
:END (標籤:END)
rem call \\ZF1BDC\NETLOGON\Check.BAT MIS (rem...remark, 這行指令已被標記為註釋, 不會執行了)
call \\ZF1BDC\NETLOGON\InCode9x.BAT %LCode% (呼叫執行另一個DOS Batch指令檔\\ZF1BDC\NETLOGON\InCode9x.BAT, 並把變數LCode值傳入)
EXIT (離開這個Batch檔案)

以上括號內為解說....希望您能滿意!

6
wiseguy
iT邦超人 1 級 ‧ 2011-08-12 20:58:25

把檔案裡面的 Server 名稱,改為 IP 試試看。
通常會卡很久,大概都是名稱查詢在龜速。
如果改為 IP 還是跑很久,那就把幾個 NET 指令前面加個 REM,讓它不會執行,然後再依序,去掉一個 REM 執行一次,直到發現卡很久的那個指令。

我要發表回答

立即登入回答