Код:
![Выделить весь код](images/misc/selectcode.png)
@echo off
setlocal enableextensions enabledelayedexpansion
call :GetDateTime
set sFileName=%DateTime:~0,4%_%DateTime:~4,2%_%DateTime:~6,2%#%DateTime:~8,2%_%DateTime:~10,2%.zip
set sFolderList=%~1
if defined sFolderList (
if exist "%sFolderList%" (
"%ProgramFiles%\7-Zip\7z.exe" a -ir@%sFolderList% "%sFileName%"
) else (
echo Can't find folder list file [%sFolderList%].
)
) else (
echo Usage: %~nx0 ^<Folder list^>
)
endlocal
exit /b 0
rem ==========================================================================
rem Функция GetDateTime()
rem
rem Серый форум / CMD/BAT: получение формата дата-время для имени файла
rem (http://forum.script-coding.com/viewtopic.php?id=5066)
rem ==========================================================================
:GetDateTime
setlocal enableextensions enabledelayedexpansion
set sProcName=%~0
for /f "delims=." %%i in ('wmic.exe OS get LocalDateTime ^| find "."') do set sDateTime=%%i
endlocal & set %sProcName:~4%=%sDateTime:~0,14%
exit /b 0
rem ==========================================================================
О формате файла-списка, содержащего имена файлов и папок, прочтите в документации:
Код:
![Выделить весь код](images/misc/selectcode.png)
hh.exe "mk:@MSITStore:%ProgramFiles%\7-Zip\7-zip.chm::/cmdline/syntax.htm#ListFile"
Обратите внимание на кодировку файла-списка.