
WMIC path Win32_Directory WHERE name="W:\\foldername" get lastmodified
devuelve algo como esto
Última modificación
20140612095434.758265-240
Me gustaría poner esto en un archivo por lotes para asignar la parte en negrita de esa cadena a una variable para poder usarla más adelante en el archivo por lotes.
¡Cualquier ayuda es apreciada!
Este es mi archivo por lotes hasta ahora como referencia.
@echo off
@cls
net use W: \\file\home\ex-employees
cd W:
W:
REM Get user ID
set /p id="Enter ID of user to Archive: "
REM Get last modified code goes here assigned to "LM" variable
REM
REM WMIC path Win32_Directory WHERE name='W:\\rsink' get lastmodified
REM Join Variables
call set filename=%%%id%%LM%%%
call zipjs.bat zipItem -source %id% -destination .\%filename%.zip -keep yes -force no
rmdir /S /Q %id%
Echo All Done!
@pause
Respuesta1
Me gustaría poner esto en un archivo por lotes para asignar la parte en negrita de esa cadena a una variable
WMIC path Win32_Directory WHERE name="W:\\foldername" get lastmodified
devuelve algo como esto
Última modificación
20140612095434.758265-240
Puedes usar un for /f
bucle para hacer esto. He aquí un pequeño ejemplo.
GetLastModifiedDate.cmd:
@echo off
rem GetLastModifedDate.cmd
setlocal enabledelayedexpansion
rem skip header line
rem use findstr to remove blank lines
for /f "skip=1 tokens=*" %%d in ('WMIC path Win32_Directory WHERE name^="f:\\test" get lastmodified ^| findstr /r /v "^$"') do (
set LM=%%d
rem required part is alway 8 chars yyyymmdd so strip first 8 chars
set LM=!LM:~0,8!
)
echo %LM%
endlocal
Su archivo por lotes con las modificaciones necesarias:
@echo off
@cls
setlocal enabledelayedexpansion
net use W: \\file\home\ex-employees
cd W:
W:
REM Get user ID
set /p id="Enter ID of user to Archive: "
REM Get last modified code goes here assigned to "LM" variable
rem skip header line
rem use findstr to remive blank lines
for /f "skip=1 tokens=*" %%d in ('WMIC path Win32_Directory WHERE name^="W:\\rsink" get lastmodified ^| findstr /r /v "^$"') do (
set LM=%%d
rem required part is alway 8 chars yyyymmdd so strip first 8 chars
set LM=!LM:~0,8!
)
REM Join Variables
call set filename=%%%id%%LM%%%
call zipjs.bat zipItem -source %id% -destination .\%filename%.zip -keep yes -force no
rmdir /S /Q %id%
Echo All Done!
@pause
Otras lecturas
- Un índice AZ de la línea de comando CMD de Windows- Una excelente referencia para todo lo relacionado con la línea cmd de Windows.
- expansión retrasada habilitada- La expansión retrasada hará que las variables se expandan en el momento de la ejecución en lugar de en el momento del análisis.
- para /f- Comando de bucle contra los resultados de otro comando.
- variables- Extraer parte de una variable (subcadena).
- wmic- Comando de Instrumental de Gestión de Windows.