Цитата yaoleg2:
Нужно чтобы в названии создаваемого архива, была дата создания этих файлов. »
|
Если даты создания у файлов разные?
Цитата yaoleg2:
Вот как я узнаю дату создания файлов: »
|
Вы некорректно узнаёте дату создания файлов. Во-первых, не «файлов», а «файла». Во-вторых, таким вот образом Вы узнаёте дату
последней модификации файла, а отнюдь не дату его создания.
Код:
![Выделить весь код](images/misc/selectcode.png)
@echo off
setlocal enableextensions enabledelayedexpansion
set sFile=1.doc
if exist "%sFile%" (
for /f "usebackq" %%i in (`2^>nul dir /t:c "%sFile%" ^| find.exe /i "%sFile%"`) do set sDate=%%~i
if defined sDate (
"%ProgramFiles%\7-ZipA\7za.exe" a -t7z -mx9 -i@"filelist.txt" -scsWIN -ssw "backup-!sDate!.7z"
) else (
echo Can't determine Date created for file [%sFile%].
)
) else (
echo Can't find file [%sFile%].
)
endlocal
exit /b 0
Я бы вообще использовал такое:
читать дальше »
Код:
![Выделить весь код](images/misc/selectcode.png)
@echo off
setlocal enableextensions enabledelayedexpansion
set sFile=1.doc
for %%i in ("%sFile%") do set sFullFileName=%%~fi
if exist "%sFullFileName%" (
for /f "usebackq" %%i in (`2^>nul wmic.exe DataFile WHERE "Name='%sFullFileName:\=\\%'" get CreationDate /value ^| find.exe /i "CreationDate"`) do set s%%i
if defined sCreationDate (
"%ProgramFiles%\7-ZipA\7za.exe" a -t7z -mx9 -i@"filelist.txt" -scsWIN -ssw "backup-!sCreationDate:~0,8!.7z"
) else (
echo Can't determine Date created for file [%sFullFileName%].
)
) else (
echo Can't find file [%sFullFileName%].
)
endlocal
exit /b 0
— в отсортированном по именам списке по формату «YYYYMMDD» удобнее ориентироваться нежели в разбросанном там и сям списке по формату «DD.MM.YYYY».