Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрипт VB(vbs)..Help me! / 22 сообщений из 22, страница 1 из 1
30.07.2009, 14:40
    #36118105
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Здравствуйте!
Помогите пожалуйста написать скрипт (vb,vbs) при условиях: Есть общая папка(INOUT), в нее пользователи копируют разную инфу (файлопомойка), в корне этой папки лежит файл txt (можно сделать и папку), который гласит: что каждое воскресенье из этой папки(INUOT)будут уничтожатся все файлы,как предупреждение. Этот файл(папку) убивать будет нельзя.НУЖНО чтобы эта папка скриптом копировалась (каждое воскр.) на сервер, после копирования в папке INOUT должно быть пусто(данные уничтожаются) (за исключением 1 файла с предупреждением).При копировании если скрипт находит в месте назначения папку INOUT то скрипт создает новую папку INOUT_01 и сливает в нее все данных с папки INOUT(т.е. с файлопомойки). Цикл работы скрипта 3 недели, соотв. скрипт должен будет создать за 3 недели 3 папки: INOUT(заполнена на первой неделе),INOUT_01 (заполнена на второй неделе),INOUT_02 (заполнена на третей неделе). VB,VBS я знаю оч плохо, начальство попросило сделать до завтра, Если будут предложения с радостью приму их! :)
...
Рейтинг: 0 / 0
30.07.2009, 14:52
    #36118156
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
тут в принципе и срипт не нужен
хватит и простого BAT-файла

вопрос, чот делать после третьей недели?


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
30.07.2009, 14:56
    #36118171
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
dim pathFrom, pathTo
pathFrom = "c:\INOUT"
pathTo = "d:\" 

Set fso=CreateOject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Move pathTo & "INOUT_" & x
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Move pathTo & "INOUT_" & x
Next
Вопросы?

Jah loves you.
...
Рейтинг: 0 / 0
30.07.2009, 15:06
    #36118212
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Antonariy,

Все наверно прекрасно! а как это прикрутить чтобы это висело в AD (нужно чтобы логон выполнлся), скорее всего здесь нужно vbs?
...
Рейтинг: 0 / 0
30.07.2009, 15:23
    #36118269
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Antonariy
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
dim pathFrom, pathTo
pathFrom = "c:\INOUT"
pathTo = "d:\" 

Set fso=CreateOject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Move pathTo & "INOUT_" & x
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Move pathTo & "INOUT_" & x
Next
Вопросы?

Jah loves you.

При выполнении пишет что "файл уже существует" (строка 15,символ5)..
как починить?
...
Рейтинг: 0 / 0
30.07.2009, 15:23
    #36118271
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Нужно этот текст скопировать в vbs-файл а файл повесить в шедулер.

Jah loves you.
...
Рейтинг: 0 / 0
30.07.2009, 15:31
    #36118290
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
AntonariyНужно этот текст скопировать в vbs-файл а файл повесить в шедулер.

Jah loves you.
Скопировал, набил папку INOUT файлами, запускаю скрипт - ошибка! Скрипт говорит что "файл уже существует",строка 12 символ5.. Знаю что руки у меня кривые, но все же, где косячу?
...
Рейтинг: 0 / 0
30.07.2009, 15:35
    #36118303
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
AlexszПри выполнении пишет что "файл уже существует" (строка 15,символ5)..
как починить?Вообще-то там наполовину не правильно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
dim pathFrom, pathTo
pathFrom = "C:\Shared\OpusOS"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.MoveFolder pathFrom, pathTo & "INOUT_" & x
...
Рейтинг: 0 / 0
30.07.2009, 15:41
    #36118317
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Вернее даже так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
dim pathFrom, pathTo
pathFrom = "c:\INOUT"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
fso.DeleteFolder pathFrom
При Move у меня почему-то выдает "Разрешение отклонено".


Jah loves you.
...
Рейтинг: 0 / 0
30.07.2009, 15:42
    #36118324
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
AntonariyAlexszПри выполнении пишет что "файл уже существует" (строка 15,символ5)..
как починить?Вообще-то там наполовину не правильно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
dim pathFrom, pathTo
pathFrom = "C:\Shared\OpusOS"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.MoveFolder pathFrom, pathTo & "INOUT_" & x


Злостная ошибка в новой версии осталась, "файл уже существует", строка 11,символ1.
Скрипт в этом виде создает папку INOUT_1, но не копирует в нее ничего :( и в папке источнике ничего не удаляет :( Есть варианты? :(
...
Рейтинг: 0 / 0
30.07.2009, 15:46
    #36118337
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Блин, вот, что значит думать руками, а не головой…
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
dim pathFrom, pathTo
pathFrom = "C:\INOUT"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Delete
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Delete
Next

Jah loves you.
...
Рейтинг: 0 / 0
30.07.2009, 15:46
    #36118338
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
AntonariyВернее даже так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
dim pathFrom, pathTo
pathFrom = "c:\INOUT"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
fso.DeleteFolder pathFrom
При Move у меня почему-то выдает "Разрешение отклонено".


Jah loves you.

У меня скрипт сработал, но, папку источник скрипт переименовал в 5INOUT_1, в папке назначения ничего не произошло.. (не создалась папка).. :%
...
Рейтинг: 0 / 0
30.07.2009, 15:49
    #36118347
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
AntonariyБлин, вот, что значит думать руками, а не головой…
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
dim pathFrom, pathTo
pathFrom = "C:\INOUT"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Delete
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Delete
Next

Jah loves you.

ВЫ МОСХ! сработало! (на первый взгляд). Кажется Все работает!!! :) :) :)
...
Рейтинг: 0 / 0
30.07.2009, 15:56
    #36118367
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
AntonariyБлин, вот, что значит думать руками, а не головой…
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
dim pathFrom, pathTo
pathFrom = "C:\INOUT"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Delete
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Delete
Next

Jah loves you.

Эм... а файл "Файл.txt" поидее должен быть в папке источнике.. А скрипт его переносит в папку INOUT_1... Можно это починить?
...
Рейтинг: 0 / 0
30.07.2009, 15:58
    #36118378
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
AlexszAntonariyБлин, вот, что значит думать руками, а не головой…
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
dim pathFrom, pathTo
pathFrom = "C:\INOUT"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Delete
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Delete
Next

Jah loves you.

Эм... а файл "Файл.txt" поидее должен быть в папке источнике.. А скрипт его переносит в папку INOUT_1... Можно это починить?

Вру, работает все! Файл с большой буквы написал) Ураа!
...
Рейтинг: 0 / 0
30.07.2009, 16:09
    #36118411
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
AntonariyБлин, вот, что значит думать руками, а не головой…
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
dim pathFrom, pathTo
pathFrom = "C:\INOUT"
pathTo = "f:\" 

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    x = x + 1 
Wend
fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Delete
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Delete
Next

Jah loves you.

Вопрос, а нельзя сделать, чтобы после INOUT_3 скрипт перезатирал INOUT_1? Чтобы цикл был.. :(
...
Рейтинг: 0 / 0
30.07.2009, 17:06
    #36118607
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
dim pathFrom, pathTo
pathFrom = "C:\INOUT"
pathTo = "f:\" 
dim dates( 3 )

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    Set f = fso.GetFolder(pathTo & "INOUT_" & x) 
    dates(x) = f.DateCreated
    x = x + 1 
Wend

If x =  4  then
    d = Now
    For y= 1  to  3 
        If dates(y)<d then 
            d =  dates(y)
            x = y
        end if
    next
    fso.DeleteFolder pathTo & "INOUT_" & x
end if

fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Delete
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Delete
Next
Теперь будет затирать самую старую папку из трех существующих.
...
Рейтинг: 0 / 0
30.07.2009, 17:20
    #36118646
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Antonariy
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
dim pathFrom, pathTo
pathFrom = "C:\INOUT"
pathTo = "f:\" 
dim dates( 3 )

Set fso=CreateObject("Scripting.FilesystemObject")
x =  1 
While fso.FolderExists(pathTo & "INOUT_" & x)
    Set f = fso.GetFolder(pathTo & "INOUT_" & x) 
    dates(x) = f.DateCreated
    x = x + 1 
Wend

If x =  4  then
    d = Now
    For y= 1  to  3 
        If dates(y)<d then 
            d =  dates(y)
            x = y
        end if
    next
    fso.DeleteFolder pathTo & "INOUT_" & x
end if

fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x
For Each f in fso.GetFolder(pathFrom).SubFolders
    f.Delete
Next
For Each f in fso.GetFolder(pathFrom).Files
    If f.Name<>"файл.txt" then f.Delete
Next
Теперь будет затирать самую старую папку из трех существующих.

Работает, а можно внести файлик текстовый (лог), в котором будут отображаться результаты действий? (перемещение, копирование, владелец папки)?
...
Рейтинг: 0 / 0
30.07.2009, 17:28
    #36118676
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
> Автор: Alexsz
> Antonariy

> Работает, а можно внести файлик текстовый (лог), в котором будут отображаться результаты действий? (перемещение,
> копирование, владелец папки)?


Аппетит пришел во время еды



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
30.07.2009, 17:29
    #36118679
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
> Автор: Alexsz
> > Antonariy
>
> Работает, а можно внести файлик текстовый (лог), в котором будут отображаться результаты действий?
> (перемещение, копирование, владелец папки)?

А обыкновенный настроенный аудит не сойдет?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
30.07.2009, 17:50
    #36118751
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Игорь Горбонос
> Автор: Alexsz
> > Antonariy
>
> Работает, а можно внести файлик текстовый (лог), в котором будут отображаться результаты действий?
> (перемещение, копирование, владелец папки)?

А обыкновенный настроенный аудит не сойдет?




:) Мне бы подошел, а вот начальству :( хочется лог в тхт файле видеть...:(
...
Рейтинг: 0 / 0
30.07.2009, 18:04
    #36118798
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт VB(vbs)..Help me!
Спасибо всем кто помогал мне! Вот итог стараний: :)
dim pathFrom, pathTo
pathFrom = "C:\test\INOUT"
pathTo = "C:\"
PapkaDlyaLogov = "C:\test\3"
dim dates(3)

Set fso=CreateObject("Scripting.FilesystemObject")

Set WshNetwork = CreateObject("WScript.Network")
Set LogFile = FSO.OpenTextFile(PapkaDlyaLogov & "\copy.log", 8, True) '===создаю лог файл==='
LogFile.WriteLine Now
If Not FSO.FolderExists(pathFrom) Then '===запись в лог файл==='
LogFile.WriteLine Now & ", " & WshNetwork.ComputerName & ", " & WshNetwork.UserName & _
": Каталог " & pathFrom & " не существует."
If Not FSO.FolderExists(pathTo) Then '===запись в лог файл==='
LogFile.WriteLine Now & ", " & WshNetwork.ComputerName & ", " & WshNetwork.UserName & _
": Каталог " & pathTo & " не существует."
LogFile.Close
End if
End if

x = 1
While fso.FolderExists(pathTo & "INOUT_" & x)
Set f = fso.GetFolder(pathTo & "INOUT_" & x)
dates(x) = f.DateCreated
x = x +1
Wend

If x = 4 then
d = Now
For y=1 to 3
If dates(y)<d then
d = dates(y)
x = y
end if
next
fso.DeleteFolder pathTo & "INOUT_" & x
end if

fso.CreateFolder pathTo & "INOUT_" & x
fso.CopyFolder pathFrom, pathTo & "INOUT_" & x

For Each Folder In FSO.GetFolder(pathFrom).SubFolders
If Err.Number Then '===запись в лог файл==='
LogFile.WriteLine Now & ", " & WshNetwork.ComputerName & ", " & WshNetwork.UserName & _
": " & Err.Description & " " & Folder.Name
Else '===запись в лог файл==='
LogFile.WriteLine Now & ", " & WshNetwork.ComputerName & ", " & WshNetwork.UserName & _
" - Копирование папки " & Folder.Name & " завершено успешно. "

Err.Clear
End If
Next
LogFile.Close

For Each f in fso.GetFolder(pathFrom).SubFolders
f.Delete
Next
For Each f in fso.GetFolder(pathFrom).Files
If f.Name<>"файл.txt" then f.Delete
Next

Все работает и даже ведется лог ;)
Еще раз спасибо!!!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрипт VB(vbs)..Help me! / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]