У меня есть пакет и VBS-файл, чтобы сжать папку с определенным именем каталога и скопировать ее в другую папку.
Как я могу заархивировать только папку с сегодняшней датой?
Если это невозможно, как можно заархивировать только папку с сегодняшней датой в столбце «Дата изменения»?
летучая мышь:
@echo off
set "mypath=C:\TEMP\zip\source\JEAR_20190115"
for /f %%i in ('dir /b /a-d "%mypath%"') do set "last=%%~ni"
CScript zip.vbs %mypath% C:\TEMP\zip\target\%last%.zip
VBS:
'Get command-line arguments.
Set objArgs = WScript.Arguments
InputFolder = objArgs(0)
ZipFile = objArgs(1)
'Create empty ZIP file.
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile,
True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)
'Required!
wScript.Sleep 2000
Например, следующий файл старше, чем сегодня, поэтому его не следует архивировать.
set "mypath=C:\TEMP\zip\source\JEAR_20190115"
Если он будет равен сегодняшней дате, скрипт должен запуститься:
set "mypath=C:\TEMP\zip\source\JEAR_20190117"
Предыдущий вопрос: https://stackoverflow.com/a/54216776/7420833