Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


KamikadZZe, Вы поставили задачу, я всего лишь "причесал" постановку, изложил для себя более последовательно.
Вы применяете мои командные файлы не в соответствии с постановкой, пытаетесь их тестировать на своём компьютере.
Но в постановке - серверы должны быть разные. Как вариант, чтобы протестировать на своём компьютере, наверняка у компьютера есть и свой IP, и сетевое имя,
Код: Выделить весь код
Set "AllComp=127.0.0.1 192.168.100.23 Max-ПК"
И добавлять к этим именам пути папок нельзя. Обратите внимание, при наличии кириллицы в именах, командный файл должен быть сохранен в 866 кодировке. Естественно, Вы будете копировать один и тот же файл со своего компьютера, но моделировать ситуацию с тремя серверами с разными адресами/именами можно. И, по условиям Вашей постановки, расположение папки с логами на разных серверах одинаковое, например:
Код: Выделить весь код
Set "LogFolder=C$\Program Files (x86)\Test\Log"
И список путей здесь неумесен, здесь только один путь.
Содержимое папки \\127.0.0.1\C$\Program Files (x86)\Test\Log
Код: Выделить весь код
20.10.2020  20:41                21 2020-10-20.gw.uniroll.log
20.10.2020  20:41                21 2020-10-21.gw.uniroll.log
20.10.2020  20:41                21 2020-10-22.gw.uniroll.log
В папке, где хранятся старые бэкапы соответственно должны содержаться подпапки с правильными именами, совпадающими с указанными Вами в списке
Содержимое папки \\Backup_Server\Test2
Код: Выделить весь код
27.10.2020  14:27    <DIR>          127.0.0.1
23.10.2020  20:52    <DIR>          192.168.100.23
23.10.2020  20:51    <DIR>          Max-ПК
В частности, содержимое одной из папок \\Backup_Server\Test2\127.0.0.1
Код: Выделить весь код
23.10.2020  20:52                 0 2020-10-17.gw.uniroll.log
23.10.2020  20:52                 0 2020-10-18.gw.uniroll.log
23.10.2020  20:52                 0 2020-10-19.gw.uniroll.log
Мои командные файлы с приближением к Вашим путям, без иных изменений
Добавляем имя серверов
Код: Выделить весь код
@Echo Off
	Call :Together "2020-10-17.gw.uniroll.log"
	Call :Together "2020-10-20.gw.uniroll.log"
Exit /B

:Together
	Set "AllComp=127.0.0.1 192.168.100.23 Max-ПК"
	Set "LogFolder=C$\Program Files (x86)\Test\Log"

	Set "Backup=\\Backup_Server\Test2"
	Set "BoxOut=Z:\Box_Out"

	If Not Exist "%BoxOut%\%~n1" (
		Md "%BoxOut%\%~n1" ||(Echo Folder "%BoxOut%\%~n1" not created &Pause &Exit /B 1)
	)
	
	>nul 2>&1 (For %%c In (%AllComp%) Do (
		Copy "\\%%c\%LogFolder%\%~1" "%BoxOut%\%~n1\%~n1_%%c%~x1" ||(
		Copy "%Backup%\%%c\%~1" "%BoxOut%\%~n1\%~n1_%%c%~x1")
	))

	"C:\Program Files\WinRAR\WinRAR.exe" a -ep1 -hpPassword "%BoxOut%\%~nx1.rar" "%BoxOut%\%~n1\*.*"
	"C:\Program Files\7-Zip\7zG.exe" a -pPassword "%BoxOut%\%~nx1.7Z" "%BoxOut%\%~n1\*.*"
Exit /B
Добавляем нумерацию по порядку
Код: Выделить весь код
@Echo Off
	Call :Together "2020-10-18.gw.uniroll.log"
	Call :Together "2020-10-21.gw.uniroll.log"
Exit /B

:Together
	Set "AllComp=127.0.0.1 192.168.100.23 Max-ПК"
	Set "LogFolder=C$\Program Files (x86)\Test\Log"

	Set "Backup=\\Backup_Server\Test2"
	Set "BoxOut=Z:\Box_Out"

	If Not Exist "%BoxOut%\%~n1" (
		Md "%BoxOut%\%~n1" ||(Echo Folder "%BoxOut%\%~n1" not created &Pause &Exit /B 1)
	)
	
	Set /A N=1000
	>nul 2>&1 (For %%c In (%AllComp%) Do (
		Set /A N+=1
		Call Copy "\\%%c\%LogFolder%\%~1" "%BoxOut%\%~n1\%~n1_%%N:~1%%%~x1" ||(
		Call Copy "%Backup%\%%c\%~1" "%BoxOut%\%~n1\%~n1_%%N:~1%%%~x1")
	))

	"C:\Program Files\WinRAR\WinRAR.exe" a -ep1 -hpPassword "%BoxOut%\%~nx1.rar" "%BoxOut%\%~n1\*.*"
	"C:\Program Files\7-Zip\7zG.exe" a -pPassword "%BoxOut%\%~nx1.7Z" "%BoxOut%\%~n1\*.*"
Exit /B
Архивацию выбирайте сами, или пишите сами для других архиваторов
И, наконец, результат работы командных файлов
Код: Выделить весь код
 Содержимое папки Z:\Box_Out

27.10.2020  15:35    <DIR>          2020-10-17.gw.uniroll
27.10.2020  15:35               268 2020-10-17.gw.uniroll.log.7Z
27.10.2020  15:35               590 2020-10-17.gw.uniroll.log.rar

27.10.2020  15:37    <DIR>          2020-10-18.gw.uniroll
27.10.2020  15:37               234 2020-10-18.gw.uniroll.log.7Z
27.10.2020  15:37               542 2020-10-18.gw.uniroll.log.rar

27.10.2020  15:35    <DIR>          2020-10-20.gw.uniroll
27.10.2020  15:35               279 2020-10-20.gw.uniroll.log.7Z
27.10.2020  15:35               590 2020-10-20.gw.uniroll.log.rar

27.10.2020  15:37    <DIR>          2020-10-21.gw.uniroll
27.10.2020  15:37               244 2020-10-21.gw.uniroll.log.7Z
27.10.2020  15:37               542 2020-10-21.gw.uniroll.log.rar


 Содержимое папки Z:\Box_Out\2020-10-17.gw.uniroll

23.10.2020  20:52                 0 2020-10-17.gw.uniroll_127.0.0.1.log
23.10.2020  20:52                 0 2020-10-17.gw.uniroll_192.168.100.23.log
20.10.2020  20:41                21 2020-10-17.gw.uniroll_Max-ПК.log


 Содержимое папки Z:\Box_Out\2020-10-20.gw.uniroll

20.10.2020  20:41                21 2020-10-20.gw.uniroll_127.0.0.1.log
20.10.2020  20:41                21 2020-10-20.gw.uniroll_192.168.100.23.log
20.10.2020  20:41                21 2020-10-20.gw.uniroll_Max-ПК.log


 Содержимое папки Z:\Box_Out\2020-10-18.gw.uniroll

23.10.2020  20:52                 0 2020-10-18.gw.uniroll_001.log
23.10.2020  20:52                 0 2020-10-18.gw.uniroll_002.log
20.10.2020  20:41                21 2020-10-18.gw.uniroll_003.log


 Содержимое папки Z:\Box_Out\2020-10-21.gw.uniroll

20.10.2020  20:41                21 2020-10-21.gw.uniroll_001.log
20.10.2020  20:41                21 2020-10-21.gw.uniroll_002.log
20.10.2020  20:41                21 2020-10-21.gw.uniroll_003.log
Если такой подход Вас не устраивает, уточняйте постановку.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 27-10-2020 в 20:35.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:44, 27-10-2020 | #16