NicoMcKiry
11-08-2018, 11:34
ciao a tutti, ho un problema con un file batch:
quello che devo fare è mappare un' unità di rete di un server, trasferire sul mio pc un file di log, scollegare l'unità di rete e rifare la stessa cosa sugli altri server (circa 60). nella sua forma basilare, tutto funziona correttamente, ma vorrei inserire un controllo per far si che mi venga comunicato se uno dei pc è offline, venga saltata la copia per quel server e si passi al server successivo. Non essendo un programmatore, mi sono armato di santa pazienza e cercato qua e la delle possibili soluzioni, ma non ho ottenuto il risultato sperato.
questo è un pezzo del codice dello script:
ping -n 1 192.168.1.10 > NUL
IF ERRORLEVEL 0 (goto copia1)
IF ERRORLEVEL NEQ 0 (goto saltacopia1)
rem ho provato ad inserire il controllo anche cosi
rem IF ERRORLEVEL 0 (goto :copia2) ELSE (goto :saltacopia2)
:copia1
net use k: \\192.168.1.10\c$ /user:utente password
copy k:\server\data\log.txt c:\varie\log01.txt
set /A Conta=%Conta% + 1
net use k: /delete
:saltacopia1
echo SERVER 01 OFFLINE
pause
ma quello che succede è che la copia viene fatta ed il server segnalato sempre come offline.
allego lo script completo se qualcuno vuole darmi una mano.
grazie mille!!!
quello che devo fare è mappare un' unità di rete di un server, trasferire sul mio pc un file di log, scollegare l'unità di rete e rifare la stessa cosa sugli altri server (circa 60). nella sua forma basilare, tutto funziona correttamente, ma vorrei inserire un controllo per far si che mi venga comunicato se uno dei pc è offline, venga saltata la copia per quel server e si passi al server successivo. Non essendo un programmatore, mi sono armato di santa pazienza e cercato qua e la delle possibili soluzioni, ma non ho ottenuto il risultato sperato.
questo è un pezzo del codice dello script:
ping -n 1 192.168.1.10 > NUL
IF ERRORLEVEL 0 (goto copia1)
IF ERRORLEVEL NEQ 0 (goto saltacopia1)
rem ho provato ad inserire il controllo anche cosi
rem IF ERRORLEVEL 0 (goto :copia2) ELSE (goto :saltacopia2)
:copia1
net use k: \\192.168.1.10\c$ /user:utente password
copy k:\server\data\log.txt c:\varie\log01.txt
set /A Conta=%Conta% + 1
net use k: /delete
:saltacopia1
echo SERVER 01 OFFLINE
pause
ma quello che succede è che la copia viene fatta ed il server segnalato sempre come offline.
allego lo script completo se qualcuno vuole darmi una mano.
grazie mille!!!