none
Помогите со скриптиком RRS feed

  • Вопрос

  • Есть папка с файлами, которые обновляются скажем раз в месяц. У пользователей настроены перемещаемые папки. Нужно всем пользователям скопировать эти файлики в папку Application Data.

    4 сентября 2007 г. 6:46

Ответы

  • Ну мало ли, что Вам кажется...

    Держите скриптик для одной папки:

    Code Snippet

    '==========================================================================
    '
    ' NAME: Copy files
    '
    ' AUTHOR: Alexander Trofimov ,
    ' DATE  : 04.09.2007
    '
    ' COMMENT: Копируем файлы из одной папки в другую.
    '
    '==========================================================================

    ' создание объекта фаловой системы.
    Set objFSO = CreateObject("scripting.filesystemobject")
    ' папка, из которой копируем
    Set ObjFromFolder = objFSO.GetFolder("c:\temp\from")
    ' папка, в которую копируем
    Set ObjToFolder = objFSO.GetFolder("c:\temp\to")
    ' получаем все файлы в исходной папке
    Set colFiles = ObjFromFolder.Files
    ' не поверите - копируем...
    For Each objFile In colFiles
     objFSO.CopyFile objFile.path, ObjToFolder.Path & "\"
    Next

     

     

    Сделать, чтобы копировалось во много папок предоставляю Вам, потому как уже потратил целых 5 минут на этот шедевр =)

    Подсказка - можно сделать вложенный цикл для коллекции папок...

    4 сентября 2007 г. 7:32
  • То же самое на PowerShell:

     

    Копирование из одной директории в поддиректории в другой директории.

    Code Snippet

    Get-ChildItem c:\temp\to  | ForEach-Object {copy-item c:\temp\from\*  -destination $_.FullName -recurse }

     

     

    (все в одну строчку!)

     

     

    4 сентября 2007 г. 11:09
    Модератор

Все ответы

  • Так это... file.bat.

    Code Snippet
    copy \\server\share\*.* %appdata% /y

     

     

     

    4 сентября 2007 г. 7:02
  • Вот у меня есть папка FolderRedir. Как написать, чтобы после запуска скриптика во все папки Application Data, которые в ней находятся, скопировались файлы.

    4 сентября 2007 г. 7:09
  • Да сделайте это на клиентской стороне. Загрузочным батником...

    Зачем скрипт-то городить? Для этого достаточно bat файла.

     

    4 сентября 2007 г. 7:12
  • Мне кажется это был бы наиболее "правильный" вариант Smile .

     

    4 сентября 2007 г. 7:16
  • Ну мало ли, что Вам кажется...

    Держите скриптик для одной папки:

    Code Snippet

    '==========================================================================
    '
    ' NAME: Copy files
    '
    ' AUTHOR: Alexander Trofimov ,
    ' DATE  : 04.09.2007
    '
    ' COMMENT: Копируем файлы из одной папки в другую.
    '
    '==========================================================================

    ' создание объекта фаловой системы.
    Set objFSO = CreateObject("scripting.filesystemobject")
    ' папка, из которой копируем
    Set ObjFromFolder = objFSO.GetFolder("c:\temp\from")
    ' папка, в которую копируем
    Set ObjToFolder = objFSO.GetFolder("c:\temp\to")
    ' получаем все файлы в исходной папке
    Set colFiles = ObjFromFolder.Files
    ' не поверите - копируем...
    For Each objFile In colFiles
     objFSO.CopyFile objFile.path, ObjToFolder.Path & "\"
    Next

     

     

    Сделать, чтобы копировалось во много папок предоставляю Вам, потому как уже потратил целых 5 минут на этот шедевр =)

    Подсказка - можно сделать вложенный цикл для коллекции папок...

    4 сентября 2007 г. 7:32
  • То же самое на PowerShell:

     

    Копирование из одной директории в поддиректории в другой директории.

    Code Snippet

    Get-ChildItem c:\temp\to  | ForEach-Object {copy-item c:\temp\from\*  -destination $_.FullName -recurse }

     

     

    (все в одну строчку!)

     

     

    4 сентября 2007 г. 11:09
    Модератор
  • Тока надо еще предварительно powershell установить =)

     

    4 сентября 2007 г. 11:31
  • я только что понял что MCSA бесполезная вещь
    4 сентября 2007 г. 11:41
  • Да ну неужели? откуда столь глубокие мысли? Мне вот оно помогло и очень сильно =)

     

    4 сентября 2007 г. 11:50
  •  tyghr написано:
    я только что понял что MCSA бесполезная вещь

     

    MCSA это квалификация администратора, а не писателя скриптов.

     

    На этом форуме MCSE не стыдяться задавать вопросы, когда им нужна помощь - для этого форум и создан.

    5 сентября 2007 г. 5:36
    Модератор
  • Александр, что использовали для изучения VBS? Как вообще максимально быстро научиться бегло писать на нем скрипты?

    5 сентября 2007 г. 6:49
  • Я, если честно, его ничерта не знаю. Просто есть несколько источников, в которых есть куча кусочков кода. Их иногда называют snippets. Я знаю эти места и когда мне нужно что-то написать просто лезу в эти места и собираю свой скрипт =)

    Таков мой метод. Бывают, конечно, места, где без поллитры не разберешься (regexp, например), но они крайне редки.

    Например, скрипт, который я Вам предложил состоит из создания объекта файловой системы и копирования как такового. Два кусочка, складываем и вуаля.

    Мои источники:

    http://technet.microsoft.com/scriptcenter

    Windows 2000 scripting guide

    еще вспомню - скажу. =)

     

    Раньше на скриптцентре были еженедельные задачки по vbscript. Я их решал на протяжении 2-3 месяцев. Очень способствовало тоже. Но сейчас они куда-то делись.

    5 сентября 2007 г. 7:14
  •  tyghr написано:
    я только что понял что MCSA бесполезная вещь

    Я вам больше скажу - в ближайший месяц\два я планирую закончить сдавать тесты на mcse. Готовьтесь в них разочаровываться.

    5 сентября 2007 г. 8:35
  • Александр, не обижайте!  Regexp - говоря словами одного сказочного персонажа, просто праздник какой-то!  Это когда сложные задачи (разбор неструктурированной информации) можно решать простыми средствами. А так, полностью согласен. Не нужно запоминать весь объем информации по скриптам - этот объем очень большой. Просто выберите несколько источников (тот же Script Center, разделы в MSDN) и пользуйтесь ими как справочником во время написания скрипта.

    5 сентября 2007 г. 8:41
    Модератор
  • Ну что-то все равно нужно знать, так сказать базу Smile

    5 сентября 2007 г. 8:47
  • Олег, у меня просто пока как-то не срослось с ними в VBScript'е. Потому и кажутся мне они сложными. А если вспомнить возможности regexp в perl... =))))

     

    5 сентября 2007 г. 8:56
  • Сорри за оффтоп

     Alexander Trofimov написано:

    Да ну неужели? откуда столь глубокие мысли? Мне вот оно помогло и очень сильно =)


    Как оно могло тебе помочь ... устроиться на работу? Ведь ничего нового ты не приобрел, просто ты отдал свои деньги  за оценку своих знаний. (или кто то за тебя отдал).

     sie написано:

     MCSA это квалификация администратора, а не писателя скриптов.

     На этом форуме MCSE не стыдяться задавать вопросы, когда им нужна помощь - для этого форум и создан.



    А админы разве не пишут скрипты?
    Я сильно сомневаюсь что можно админить годик-два (вряд ли люди идут на сертификаты сразу начав работать в IT) и не знать как скриптом копировать файлы.
    7 сентября 2007 г. 8:10
  • Уважаемый, обычные утилитки командной строки так как хотел бы сделать я сделать не могут. А знания WBS сертификации MCSA и MCSE не требуют. Команду copy я знаю и использую.

     

    Впрочем вы можете оставаться при своем мнении Smile .

     

    7 сентября 2007 г. 9:00
  • To  tyghr: Для начала - я ни с кем тут вроде пока на брудершафт не пил.

    Далее: про работу да - помогло устроиться. Просто очень здорово влияет на прохождение этапа HR. Потом, конечно, это все становится чешуей, но первый этап упрощает.

    А еще сам процесс подготовки помог найти и изучить кучу вещей, о которых я вполне мог бы просто не узнать никогда или узнать очень не скоро. Так что насчет "ничего нового ты не приобрел" налицо некое заблуждение. И если Вы считаете, что прохождение Вами трека хотя бы MCSE:Messaging ничего Вам не даст, то Вы, наверное, гипермегаадмин Exchange с 5-7 летним опытом планирования, развертывания, поддержки оного в сети от двух-трех тысяч пользователей. Тогда, конечно, да. Вы из таких?

     

    7 сентября 2007 г. 9:23
  • спорить можно долго, но смысла нет, я при своем мнении

    10 сентября 2007 г. 8:16
  • Да пожалуйста.
    10 сентября 2007 г. 8:21
  •  Alager написано:

    Ну что-то все равно нужно знать, так сказать базу

    Просмотрел этот вопрос... Ну, в указанном мной Scripting Guide если сначала потихоньку читать дается некая база. Плюс на ScriptCenter есть раздел Sesame - тоже что-то вроде обучалки.

    10 сентября 2007 г. 8:28