2

Ответ на пост «Архивируем все файлы внутри директории, исключая ненужные - архив с датой и временем в имени»

Делал нечто подобное на vbs.

Архивирует всю папку рекурсивно и помещает архив в родительскую директорию.

' z0_foldr_2_arh.vbs

' trdm 2021-05-23 17:39:47

' Архивация текущей дирректории.

set gWsh = CreateObject("WScript.Shell")

set gFso = CreateObject("Scripting.FileSystemObject")

set gCurDir = gFso.GetFolder(gWsh.CurrentDirectory)

dim gCurDirSN : gCurDirSN = gCurDir.Name

set gParent = gCurDir.ParentFolder

Function FNS(psNum, psVN)

FNS = Right("00000000000000000"+CStr(psNum),psVN)

End Function

Function formatDT(psDate)

vStr = ""+CStr(Year(psDate))

vStr = vStr + FNS(Month(psDate),2)

vStr = vStr + FNS(Day(psDate),2)

vStr = vStr + "_"

vStr = vStr + FNS(Hour(psDate),2)

vStr = vStr + FNS(Minute(psDate),2)

vStr = vStr + FNS(Second(psDate),2)

formatDT = vStr

End Function

Sub runArhive()

vFileName = gCurDirSN + "_"+formatDT(Now)+".7z"

gWsh.CurrentDirectory = gParent.Path 'msgbox vFileName 'msgbox gWsh.CurrentDirectory

vCommand = "7z a "+vFileName+" .\"+gCurDirSN+"\* -r" ' msgbox vCommand

gWsh.Exec vCommand 'msgbox gCurDirSN 'gParent.Path

End Sub

runArhive

Ответ на пост «Архивируем все файлы внутри директории, исключая ненужные - архив с датой и временем в имени»
Показать полностью 1
84

Архивируем все файлы внутри директории, исключая ненужные - архив с датой и временем в имени

Думаю, многим пригодится скрипт для автоматического архивирования содержимого директории, исключая файлы с определённым расширением. Пример такого скрипта ниже, BAT файл со скриптом просто кладётся в директорию с файлами и по двойному клику создаёт архив с датой и временем в имени файла


@Echo off

setlocal EnableDelayedExpansion

for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"

set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"

set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"

set set "mypath=%cd%"

"c:\Program Files\7-Zip\7z.exe" a %fullstamp%.7z %mypath%* -r -x^^!*.7z -x^^!*.bat

В строчке:

"c:\Program Files\7-Zip\7z.exe" a %fullstamp%.7z %mypath%* -r -x^^!*.7z -x^^!*.bat
параметрами -x^^!*.7z -x^^!*.bat задаётся исключение файлов с расширениями *.7z и *.bat  (тут можете добавить свои) из списка архивирования - таким образом внутрь архива попадают только нужные файлы.

c:\Program Files\7-Zip\7z.exe - путь к 7-Zip архиватору (должен быть установлен перед началом использования)


Видео использования ниже

Показать полностью 1
Отличная работа, все прочитано!