windows:cmd:start

Aquesta és una revisió antiga del document


CMD en Windows

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
      • otras maneras:
        • set _string=#%_string%#
        • set _string=%_string:«#=%
        • set _string=%_string:#»=%
        • set _string=%_string:#=%
      • reemplazo de todas las comillas:
        • set _variable=%_variable:«=%
    • %~a1 : atributos
    • %~t1 : fecha/hora
    • %~z1 : tamaño
    • %~$PATH:1 : busca en el PATH para expandir %1 a path completo ≡ fully qualified name
set fecha=%date:~6,4%%date:~3,2%%date:~0,2%
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
)
  • ojito a como se saca el nombre de la variable descartando la extensión - mirado en el help for de ms-dos
  • como se coge la columna que nos interesa
@echo off
for /f "tokens=4" %%a in ('dir hesp*.dns') do (
  rem echo %%~na
  nslookup -q=NS %%~na >> hesperia.txt
)
  • en este caso, nombres de máquinas
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
  • utilizar ''> ftp -s:comandosftp.txt <servidorftp>
  • hay que cambiar el <user> y <password> del fichero TXT
comandosftp.txt
<user>
<password>
binary
lcd d:\tmp\ftp-remoto
cd tmp
prompt off
mget *
bye

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
  • windows/cmd/start.1571306122.txt.gz
  • Darrera modificació: 17/10/2019 02:55
  • per mate