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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] что бы с каждого компа в сети архивировалась раз в 2-3 дня папочка на сервер

Ответить
Настройки темы
VBS/WSH/JS - [решено] что бы с каждого компа в сети архивировалась раз в 2-3 дня папочка на сервер

Старожил


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

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


Товарищи нужно сделать так что бы с каждого компа в сети копировалась (архивировалась) раз в 2-3 дня папочка на сервер и при этом создавалась папка не по имени компа на сервере, а по ip адресу копируемого компьютера мне вроде дали скриптик но он не работает как то, что не так:

Dim FSO, WSH, TheFolder, TheFiles, AFile
Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
foldername = "C:\Program Files\infotecs"
zipname = "C:\temp\if.zip"
str = "c:\7-zip\7z.exe a "& zipname & " " & foldername
strComputer = "."

Return = WSH.Run(str, 0, true)

If Return = 0 Then
Set fso = createobject ("scripting.filesystemobject")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For Each IPAddress In IPConfig.IPAddress
strOutput = Replace(IPAddress, strComputer, "")
if fso.FolderExists("\\10.72.4.8\AD\1\" & strOutput) Then
WScript.Echo "Папка уже создана"
Else
fso.createfolder "\\10.72.4.8\AD\1\" & strOutput
End If
Set TheFolder = FSO.GetFolder("C:\temp\")
Set TheFiles = TheFolder.Files
For Each AFile In TheFiles
If UCase(FSO.GetExtensionName(AFile.Path)) = "ZIP" Then
AFile.COPY "\\10.72.4.8\AD\1\" & strOutput &"\"
End If
Next
Next
End If
Next
End If


папка temp есть
папка с архиватором 7-zip так же имеется
папка с тем что копировать есть
папка куда копировать так же есть
что еще надо?

Отправлено: 14:24, 31-05-2013

 

Аватара для sunnykey

Пользователь


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

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


Код: Выделить весь код
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
rem Замени пути на свои
set ZipPath="C:\Program Files\7-Zip\7z.exe"
set ServerPath=\\192.168.25.245\it\test
set Folder2BackUp="d:\work\"
rem !!!!!!!!!!!!!!!!!!
if exist %tmp%\%ipAddress%.zip (
	del /q %tmp%\%ipAddress%.zip
)
if exist %tmp%\tmp.tmp (
	del /q %tmp%\tmp.tmp
)
netsh interface ipv4 show addresses | find  "IP-" | find /v "127.0.0.1" >%tmp%\tmp.tmp
for /f "tokens=2" %%i in (%tmp%\tmp.tmp) do set ipAddress=%%i

%ZipPath% a %tmp%\%ipAddress%.zip %Folder2BackUp%
if not exist "%ServerPath%" (
	md "%ServerPath%"
)
copy /y /z %tmp%\%ipAddress%.zip "%ServerPath%\"
del /q %tmp%\tmp.tmp
del /q %tmp%\%ipAddress%.zip
echo Done!
Как-то так

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855


Отправлено: 07:19, 03-06-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


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

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


сделал так

@echo off
SetLocal EnableExtensions EnableDelayedExpansion
rem Замени пути на свои
set ZipPath="C:\Program Files\7-Zip\7z.exe"
set ServerPath=\\10.72.4.8\ad\1
set Folder2BackUp="C:\Program Files\InfoTeCS\"
rem !!!!!!!!!!!!!!!!!!
if exist %tmp%\%ipAddress%.zip (
del /q %tmp%\%ipAddress%.zip
)
if exist %tmp%\tmp.tmp (
del /q %tmp%\tmp.tmp
)
netsh interface ipv4 show addresses | find "IP-" | find /v "127.0.0.1" >%tmp%\tmp.tmp
for /f "tokens=2" %%i in (%tmp%\tmp.tmp) do set ipAddress=%%i

%ZipPath% a %tmp%\%ipAddress%.zip %Folder2BackUp%
if not exist "%ServerPath%" (
md "%ServerPath%"
)
copy /y /z %tmp%\%ipAddress%.zip "%ServerPath%\"
del /q %tmp%\tmp.tmp
del /q %tmp%\%ipAddress%.zip
echo Done!

выдает при запуске

Последний раз редактировалось alexdomovoi, 04-01-2025 в 16:47.


Отправлено: 09:58, 03-06-2013 | #3


Ветеран


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

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


alexdomovoi, Вам давно пора познакомиться с тэгом [code].

Цитата alexdomovoi:
выдает при запуске »
Это пакетный файл, а не скрипт WSH. Поменяйте расширение с «vbs» на «cmd». И сохраняйте в кодировке OEM/866, если используется кириллица.

Отправлено: 10:50, 03-06-2013 | #4


Старожил


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

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


в принципе работает, НО создается архив с не с именем ip адреса (допустим ip 192.168.1.1 нужно имя архива 19216811), а просто %ipAddress%.zip

а вообще было бы прерасно если бы создавалась папочка с ip адресом а уже в нее клались архивы по дате

Отправлено: 11:59, 03-06-2013 | #5


Старожил


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

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


удалил, вопрос выше остается открыт

Отправлено: 13:32, 03-06-2013 | #6


Аватара для sunnykey

Пользователь


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

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


Цитата alexdomovoi:
в принципе работает, НО создается архив с не с именем ip адреса (допустим ip 192.168.1.1 нужно имя архива 19216811), а просто %ipAddress%.zip
а вообще было бы прерасно если бы создавалась папочка с ip адресом а уже в нее клались архивы по дате »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion
rem Замени пути на свои
set ZipPath="C:\Program Files\7-Zip\7z.exe"
set ServerPath=\\10.72.4.8\ad\1
set Folder2BackUp="C:\Program Files\InfoTeCS\"
rem !!!!!!!!!!!!!!!!!!
for /f %%i in ('date /t') do set CurDate=%%i
if exist %tmp%\%CurDate%.zip (
	del /q %tmp%\%CurDate%.zip
)
if exist %tmp%\tmp.tmp (
	del /q %tmp%\tmp.tmp
)
netsh interface ipv4 show addresses | find  "IP-" | find /v "127.0.0.1" >%tmp%\tmp.tmp
for /f "tokens=2" %%i in (%tmp%\tmp.tmp) do (
	set ipAddress=%%i
)
set endPath=%ServerPath%\%ipAddress%
%ZipPath% a %tmp%\%CurDate%.zip %Folder2BackUp%
if not exist "%endPath%" (
	md "%endPath%"
)
copy /y /z %tmp%\%CurDate%.zip "%endPath%\"
del /q %tmp%\tmp.tmp
del /q %tmp%\%CurDate%.zip
echo Done!
Создаёт на сервере папку с ip адресом, а в неё копируется архив.
З.Ы. Не забудь сохранить файл с расширением cmd

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855


Отправлено: 15:23, 03-06-2013 | #7


Старожил


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

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


что то не так в конце

Код: Выделить весь код
Compressing  InfoTeCS\ViPNet CryptoService\vipnetln.prg

Everything is Ok
if not exist "%endPath%" (
Продолжить? "Application Data"md "%endPath%"
Продолжить? )
""Application Data"md" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
copy /y /z %tmp%\%CurDate%.zip "%endPath%\"
Системе не удается найти указанный путь.
Скопировано файлов:         0.
del /q %tmp%\tmp.tmp
del /q %tmp%\%CurDate%.zip
echo Done!

Отправлено: 15:37, 03-06-2013 | #8


Аватара для sunnykey

Пользователь


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

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


Цитата alexdomovoi:
Продолжить? "Application Data"md "%endPath%"
Продолжить? ) »
Это откуда у тебя в скрипте? Скопируй правильно текст!

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855


Отправлено: 02:43, 04-06-2013 | #9


Старожил


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

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


скопировал
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion
rem Замени пути на свои
set ZipPath="C:\Program Files\7-Zip\7z.exe"
set ServerPath=\\10.72.4.8\ad\1\
set Folder2BackUp="C:\Program Files\InfoTeCS\"
rem !!!!!!!!!!!!!!!!!!
for /f %%i in ('date /t') do set CurDate=%%i
if exist %tmp%\%CurDate%.zip (
	del /q %tmp%\%CurDate%.zip
)
if exist %tmp%\tmp.tmp (
	del /q %tmp%\tmp.tmp
)
netsh interface ipv4 show addresses | find  "IP-" | find /v "127.0.0.1" >%tmp%\tmp.tmp
for /f "tokens=2" %%i in (%tmp%\tmp.tmp) do (
	set ipAddress=%%i
)
set endPath=%ServerPath%\%ipAddress%
%ZipPath% a %tmp%\%CurDate%.zip %Folder2BackUp%
if not exist "%endPath%" (
	md "%endPath%"
)
copy /y /z %tmp%\%CurDate%.zip "%endPath%\"
del /q %tmp%\tmp.tmp
del /q %tmp%\%CurDate%.zip
echo Done!
идет копирование из папки инфотекс
но в конце выдает
Код: Выделить весь код
Compressing  InfoTeCS\ViPNet CryptoService\user_0257\key_disk\dom\has
Compressing  InfoTeCS\ViPNet CryptoService\user_0257\key_disk\dom\sgn

Compressing  InfoTeCS\ViPNet CryptoService\Version.ini
Compressing  InfoTeCS\ViPNet CryptoService\VIPNETLN.CRG
Compressing  InfoTeCS\ViPNet CryptoService\vipnetln.prg

Everything is Ok
if not exist "%endPath%" (
Продолжить? "Application Data"md "%endPath%"
Продолжить? )
""Application Data"md" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
copy /y /z %tmp%\%CurDate%.zip "%endPath%\"
Системе не удается найти указанный путь.
Скопировано файлов:         0.
del /q %tmp%\tmp.tmp
del /q %tmp%\%CurDate%.zip
echo Done!

Отправлено: 09:43, 04-06-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] что бы с каждого компа в сети архивировалась раз в 2-3 дня папочка на сервер

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - 1. У меня каждый раз при перезагрузке компа, удаляются все шрифты. Что делать? migel_777mix Microsoft Windows 2000/XP 16 08-04-2015 17:43
[решено] Доступ из сети компа с Win7 на сервер с Win2k server Victor_ZN2011 Microsoft Windows NT/2000/2003 5 13-08-2012 10:09
CMD/BAT - [решено] нужно что-бы батник считал сколько раз его запускали max_max_08 Скриптовые языки администрирования Windows 14 24-07-2010 20:00
Нужна помощь по ADSL, каждый раз нужно регаться на IPS для того что бы зайти в нет,.. DreDo Хочу все знать 2 07-01-2009 01:05
Настойка Apach что бы видился с ИНЕТА и с локальной сети kaEwituS Общий по FreeBSD 2 31-08-2007 11:02




 
Переход