@echo off TITLE Genera l'help html di un comando As400 e lo porta su PC. cd \ rem Assume come d "Disco di lavoro" quello in cui si trova il presente ".bat". set d=%~d0 rem Imposta l'indirizzario di lavoro. set work=WORK echo CMDHELP.bat echo Creates html help of AS400 command and transfers it to PC echo Genera l'help html di un comando As400 e lo trasferisce al PC. echo Claudio Neroni 16-06-2016 Creato. echo . rem <...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....> echo ATTENZIONE: per l'uso, l'estensione del presente file DEVE ESSERE ".bat". echo Il nome completo del file PC scatenante puo' essere fornito come parametro echo ma il modo migliore di passare il parametro e' trascinare echo l'icona del file PC di innesco sopra l'icona del presente ".bat". echo Il file scatenante avra' nome "comandoas400.libreriaas400.HTML". echo L'esecuzione genera un sorgente html che sostituisce il contenuto rem dello stesso file scatenante. echo I parametri di accesso all'As400 echo "ASSYSTEM", "MYUSER" e "MYPASSWORD" echo si possono cablare per chiarezza e semplicita' echo ma per impostarli e' consigliabile fare uso di un altro ".bat" echo (ad esempio ACCESSO400.bat), contenente le specifiche di settaggio. echo Anche i parametri di personalizzazione della procedura echo "FROMIFS" echo sono gestiti nello stesso file di settaggio. rem Se manca parametro, errore. @if .%1==. goto noparameter rem Chiama batch alternativo alle successive specifiche di settaggio. call %d%\ACCESSO400\ACCESSO400.bat rem Annota Nome dell'As400, Utente e Password. rem set assystem=PUB1.RZKH.DE rem set myuser=NERONI rem set mypassword=pppppppppp rem Annota fromifs "Indirizzario IFS di lavoro" rem set fromifs=/home/neroni rem Imposta l'indirizzario di lavoro. set work=WORK rem Imposta un nome di lavoro. set workname=CMDHELP rem Crea l'indirizzario di lavoro sul disco di lavoro. md %d%\%WORK% rem Ricava in filedrive il drive del file. set filedrive=%~d1 rem Ricava in filepath il nome del percorso del file. set filepath=%~p1 rem Ricava in filename il nome del file senza percorso e senza estensione. set filename=%~n1 rem Ricava in fileextension il nome dell'estensione del file. set fileextension=%~x1 set fileextension=%fileextension:~1,10% rem Spezza il filename in corrispondenza del punto in comando e libreria CALL :SPEZZA %filename% rem Compone il comando che su AS400 documenta il comando richiesto. set cmd1=GENCMDDOC CMD(%libreria%/%comando%) TODIR('%fromifs%') TOSTMF(%comando%.%libreria%.HTML) set cmd2=CHGATR OBJ('%fromifs%/%comando%.%libreria%.HTML') ATR(*CCSID) VALUE(280) rem Compone il nome del work file che conterra' le istruzioni ftp da eseguire. set workftp=%d%\%WORK%\%workname%.ftp rem Scrive le istruzioni da eseguire con ftp. rem Utente. echo %myuser%>%WORKFTP% rem Password. echo %mypassword%>>%WORKFTP% rem Esegue il comando 1. echo quote rcmd %cmd1%>>%WORKFTP% rem Esegue il comando 2. rem echo quote rcmd %cmd2%>>%WORKFTP% rem Copia il file dall'indirizzario IFS al file scatenante. echo get %fromifs%/"%comando%.%libreria%.HTML" %filedrive%%filepath%%filename%.HTML>>%WORKFTP% rem Abbandona ftp. echo quit>>%WORKFTP% rem Chiama ftp per eseguire le istruzioni scritte nel file. ftp -s:%WORKFTP% %assystem% del %WORKFTP% rem Label fine. pause Si ferma per permettere l'esame del log prima che si chiuda la finestra comandi. rem Cancella transito. del %WORKFTP% GOTO :ENDPGM rem Segnala parametro mancante. :noparameter set msg=Perche' funzioni, occorre trascinare il file scatenante sul presente bat! @echo ERRORE! && @echo %msg% && @pause GOTO :ENDPGM rem Spezza il contenuto della variabile al punto. rem da "comando.libreria" a "comando" + "libreria" :SPEZZA set comando=%~n1 set libreria=%~x1 set libreria=%libreria:~1,10% GOTO :ENDPGM :ENDPGM