Gå til innhold

Verifisering av 'send'


Anbefalte innlegg

Jeg jobber med et program som sender et program med send-kommandoen til en mvs-maskin. Noen ganger får jeg feil i sendingen, grunnet at mvs-maskinen er logget av eller at filen er større en avsatt plass i datasettet (som ikke er eb konstant størrelse).

Jeg er ute etter en løsning for å kunne printe om sendingen var vellykket eller ikke. Har prøvd med errorlevel, men ser ikke ut til at denne reagerer på feil.

 

Eksempel:

echo off
send dataset1 server.dataset1 ascii crlf
echo Errorlevel: %errorlevel%.
if %errorlevel%==1 (color 0C)

Gir:

>echo off

PCSXFER010 - PC-filen c:\test\dataset1 ble ikke funnet i den oppgitte banen.

Errorlevel 0.

 

Noen forslag? Har tenkt på å logge på mvs med ftp og kjøre et compare-script, men om det er mulig vil jeg helst løse dette med å sjekke svaret i dos.

Lenke til kommentar
Videoannonse
Annonse

Jeg har 2 forslag og begge har ganske høy jalla faktor.

Jeg har ikke vært så borti avansert batch skripting så det er ikke sikkert det er mulig.

 

Løsningene går ut på å bruke piping for så analysere det.

 

eks. 1

send DineKomandoer > output.txt

 

eks. 2

send DineKomandoer 2> Error.txt

 

Det først eksemplet dumpes alt til output.txt og så kan du muligens bruke find/findstr til å hjelpe deg.. hjalp det?

 

Hvis de som har laget send bruker error "kanalen" vil eks. 2 gi innhold i error.txt bare ved feil... kan du bruke det til noe?

 

lykke til

Lenke til kommentar
Jeg har 2 forslag og begge har ganske høy jalla faktor.

Jeg har ikke vært så borti avansert batch skripting så det er ikke sikkert det er mulig.

 

Løsningene går ut på å bruke piping for så analysere det.

 

eks. 1

send DineKomandoer > output.txt

(Opprinnelig svar: Det jeg sender er innholdet av tekstfiler, som gjerne er på 1-3 MB. Blir litt klønete å få alt dette inn i log-filer. Problemet mitt er at jeg ikke kan vite om send-kommandoen var vellykket eller ikke, uten fysisk å se etter feilmeldingen. Noe jeg kunne tenke meg å slippe siden jeg skal lese inn et tusentalls filer.)

 

Hei igjen! Fikk tenkt meg om en gang til og det er ikke sikkert at det forslaget var så dumt likevel.. For å kontinuerlig sjekke om kommandoen var velykket vil jeg nå trenge å sjekke om den siste linjen i output.txt er " Filoverf<ringen er ferdig". Tror jeg vil klarer å løse dette med;

del /Q output.txt
send ... >> output.txt
find "ferdig" output.txt
goto lbl%errorlevel%
:lbl0
Kommandoer etter vellykket overføring
pause
exit
:lbl1
Kommandoer etter feilaktig overføring
pause
exit

Kommenter gjerne om jeg gjorde dette feil eller tungvint. Uansett; takk for hjelpen!

Endret av Knast
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...