Windows: CMD
shutdown
parámetros .bat
https://ss64.com/nt/syntax-args.html
%1..%9 : parámetros por orden (solo se pueden referenciar 9 parámetros directamente)
%0 : pathname del propio script
%* : todos (hasta 255)
si el parámetro es un nombre de fichero, se pueden usar los siguientes modificadores:
%~f1 : path completo (unidad-carpetas-fichero ≡ fully qualified name)
%~d1 : unidad
%~p1 : carpetas
%~n1 : nombre archivo sin extensión ni path
%~x1 : extensión
%~s1 : modifica los modificadores f,n,s,x para usar nombres 8.3
%~1 : elimina comillas exteriores
%~a1 : atributos
%~t1 : fecha/hora
%~z1 : tamaño
%~$PATH:1 : busca en el PATH para expandir %1 a path completo ≡ fully qualified name
fecha
set fecha=%date:~6,4%%date:~3,2%%date:~0,2%
estructura FOR e IF (en este caso, usando el valor de las colunas del comando ''net use''
for /F "tokens=1-3" %%a in ('net use') do (
if /i %%a==Disconnected net use /delete %%b
if /i %%a==Unavailable net use /delete %%b
)
recorrido de ficheros con "manipulación"
@echo off
for /f "tokens=4" %%a in ('dir hesp*.dns') do (
rem echo %%~na
nslookup -q=NS %%~na >> hesperia.txt
)
ejecutar comando sobre una lista (de lo que sea) almacenada en un fichero "externo"
- lista.txt
agarcia
pwillemsen
bcarreno
matorres
apandoo
pablo-perez
- ejecuta-lista.bat
@echo off
FOR /F "usebackq" %%I IN (lista.txt) DO (
rem PING -n 1 -w 100 %%I
rem tasklist /s %%I /FI "IMAGENAME eq Skype"
echo %%I
tasklist /s %%I
)
pause
ejecutar comandos FTP
- comandosftp.txt
<user>
<password>
binary
lcd d:\tmp\ftp-remoto
cd tmp
prompt off
mget *
bye
ejecución secuencial
ejecuta un programa GUI y al salir, ejecuta el logoff
- run.bat
rem /MAX: maximiza /WAIT: espera al cierre del programa
start /D <PATH_FOLDER> /MAX /WAIT PROGRAM.EXE
logoff