WMIC path Win32_Directory WHERE name="W:\\foldername" get lastmodified
次のような結果を返します
最終更新日
20140612095434.758265-240
これをバッチ ファイルに入れて、その文字列の太字部分を変数に割り当て、後でバッチ ファイルで使用できるようにします。
どのような助けでも大歓迎です!
これは参考までにこれまでの私のバッチファイルです
@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
答え1
これをバッチファイルに入れて、その文字列の太字部分を変数に割り当てたいと思います。
WMIC path Win32_Directory WHERE name="W:\\foldername" get 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
参考文献
- Windows CMD コマンドラインの AZ インデックス- Windows コマンド ラインに関連するあらゆることに関する優れたリファレンス。
- 有効遅延拡張- 遅延展開では、変数は解析時ではなく実行時に展開されます。
- /fの場合- 別のコマンドの結果に対してコマンドをループします。
- 変数- 変数の一部(部分文字列)を抽出します。
- wmic- Windows Management Instrumentation コマンド。