пакетный файл для получения частичной lastmodified строки переменной

WMIC path Win32_Directory WHERE name="W:foldername" get lastmodified

возвращает что-то вроде этого

LastModified

20140612095434.758265-240

Я хотел бы поместить это в пакетный файл, чтобы назначить выделенную жирным шрифтом часть этой строки переменной, чтобы я мог использовать ее позже в пакетном файле.

любая помощь приветствуется!

Это мой пакетный файл для ссылки

@echo off
@cls
net use W: filehomeex-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
1
задан DavidPostill
18.05.2023 20:43 Количество просмотров материала 2827
Распечатать страницу

1 ответ

Я хотел бы поместить это в пакетный файл, чтобы назначить выделенную жирным шрифтом часть этой строки переменной

WMIC path Win32_Directory WHERE name="W:\foldername" get lastmodified

возвращает что-то вроде этого

LastModified

20140612095434.758265-240

можно использовать for /f петли для этого. Вот небольшой пример.

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

ваш пакетный файл с нужной модификации:

@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

Читать Далее

  • индекс A-Z командной строки Windows CMD - отличный справочник для все окон УМК линия, связанная.
  • enabledelayedexpansion - отложенное расширение приведет к расширению переменных во время выполнения, а не во время разбора.
  • for / f - Loop команда против результатов другого команда.
  • переменные - извлечь часть переменной (подстроку).
  • wmic - Команда Инструментария Управления Windows.
2
отвечен DavidPostill 2023-05-20 04:31

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх