TOP > Up > Today
名前: pandora BBSから
質問:http://pasokoma.jp/47/lg474060#474072
携帯:http://pasokoma.jp/m?num=474072&ope=v
--
LF8010さんは No.474060「DOS バッチファイルループ処理について」で書きました。
楽しそうなので、実際に作ってみました
動作は確認済みです
[注意点]
・接続対象のコンピュータがネットワーク上に存在しない場合、
ネットワークログオンエラーを net useでは検出できず
ネットワークドライブ接続エラーの方で検出する
・リトライは、10回も必要なさそう (ダメなときは全然ダメ)
----(ここから)-------------------
@ECHO OFF
rem System Define
SET HOSTNAME=****** ← コンピュータ名
SET USERNAME=****** ← ログオンユーザー名
SET PASSWORD=****** ← パスワード
SET FOLDERPATH=**** ← usr\data といった感じで
SET DRIVE=z:
SET SLEEPTIME=5
SET RETRY=10
SET LOOP=0
:CONNECT
rem Network logon
ECHO Network logon Execute
net use \\%HOSTNAME% %PASSWORD% /user:%USERNAME% >"%TEMP%\TEMP.LOG" 2>&1
FIND /I "エラー" "%TEMP%\TEMP.LOG" >NUL
rem echo ERRORLEVEL=%ERRORLEVEL%
IF ERRORLEVEL 1 (
rem Network drive connect
ECHO Network drive connect Execute
net use %DRIVE% \\%HOSTNAME%\%FOLDERPATH% >"%TEMP%\TEMP.LOG" 2>&1
FIND /I "エラー 85" "%TEMP%\TEMP.LOG" >NUL
IF NOT ERRORLEVEL 1 GOTO :ABEND2
FIND /I "エラー" "%TEMP%\TEMP.LOG" >NUL
rem echo ERRORLEVEL=%ERRORLEVEL%
IF ERRORLEVEL 1 GOTO :SUCCESS
)
SET /A LOOP=LOOP+1
IF /I %LOOP% GTR %RETRY% GOTO :ABEND1
rem sleep
PING localhost -n %SLEEPTIME% >NUL
ECHO.
GOTO :CONNECT
:SUCCESS
ECHO.
ECHO Network connect success
rem
rem My action execute
rem
pause
rem Network drive release
net use %DRIVE% /delete
DEL "%TEMP%\TEMP.LOG" /Q >NUL
GOTO :EOF
:ABEND1
ECHO.
ECHO Network connect error
PAUSE
DEL "%TEMP%\TEMP.LOG" /Q >NUL
GOTO :EOF
:ABEND2
ECHO.
ECHO Network drive connect Fail
ECHO Drive Already in use
PAUSE
DEL "%TEMP%\TEMP.LOG" /Q >NUL
GOTO :EOF
----(ここまで)-------------------
--
== 掲示板URL: http://pasokoma.jp/bbs ==
配信の停止: http://pasokoma.jp/taikai
本メールマガジンへの返信はなさらないで下さい
== 投稿はパソコン困りごと掲示板でお願い致します ===
TOP > Up > Today