none
Получения списка файлов в каталоге и пакетная архивация RRS feed

  • Вопрос

  • Добрый день коллеги, задумался тут о такой задачи, в определенный период выгружается огромное количество файлов, которые очень хорошо архивируются. Но архивировать их всей пачкой по определенным причинам ненужно, нужно каждый файл поместить в архив. Как архивировать легко решается винраром с аргументами, но он не умеет каждый файл по отдельности. Возникла идея, наверянка же в powershell можно получить список всех файлов в директории и по одному отдавать архиватору, кто то уже подобное реализовывал ?
    23 ноября 2010 г. 21:01

Ответы

  • dir C:\Test | where {!$_.PSisContainer} | foreach { &"$env:ProgramFiles\WinRAR\rar.exe"  a "C:\Arch\$($_.basename).rar" $_.fullname}
    

    • Предложено в качестве ответа Vasily GusevModerator 24 ноября 2010 г. 3:50
    • Помечено в качестве ответа Hjn92 24 ноября 2010 г. 8:08
    23 ноября 2010 г. 21:43
    Отвечающий
  • Очень помог ваш совет, пробовал модифицировать скрипт, так как задача чтуь расширилась.

     

    Есть папка в которой лежат подпапки департаментов. НЕобходиммо бекапить каждый департамент в свой архив. То есть задача получить список папок на 1 уровне в папке департамента, а потом каждую папку упаковать с именем департамента, кто нибудь подобное делал ?

     

     

    Убрать из скрипта ! и все =)
    dir C:\Test | where {$_.PSisContainer} | foreach { &"$env:ProgramFiles\WinRAR\rar.exe"  a "C:\Arch\$($_.basename).rar" $_.fullname}
    
    • Помечено в качестве ответа Hjn92 20 марта 2011 г. 9:02
    19 марта 2011 г. 9:10
    Отвечающий

Все ответы

  • dir C:\Test | where {!$_.PSisContainer} | foreach { &"$env:ProgramFiles\WinRAR\rar.exe"  a "C:\Arch\$($_.basename).rar" $_.fullname}
    

    • Предложено в качестве ответа Vasily GusevModerator 24 ноября 2010 г. 3:50
    • Помечено в качестве ответа Hjn92 24 ноября 2010 г. 8:08
    23 ноября 2010 г. 21:43
    Отвечающий
  • Очень помог ваш совет, пробовал модифицировать скрипт, так как задача чтуь расширилась.

     

    Есть папка в которой лежат подпапки департаментов. НЕобходиммо бекапить каждый департамент в свой архив. То есть задача получить список папок на 1 уровне в папке департамента, а потом каждую папку упаковать с именем департамента, кто нибудь подобное делал ?

     

     

    18 марта 2011 г. 22:43
  • Очень помог ваш совет, пробовал модифицировать скрипт, так как задача чтуь расширилась.

     

    Есть папка в которой лежат подпапки департаментов. НЕобходиммо бекапить каждый департамент в свой архив. То есть задача получить список папок на 1 уровне в папке департамента, а потом каждую папку упаковать с именем департамента, кто нибудь подобное делал ?

     

     

    Убрать из скрипта ! и все =)
    dir C:\Test | where {$_.PSisContainer} | foreach { &"$env:ProgramFiles\WinRAR\rar.exe"  a "C:\Arch\$($_.basename).rar" $_.fullname}
    
    • Помечено в качестве ответа Hjn92 20 марта 2011 г. 9:02
    19 марта 2011 г. 9:10
    Отвечающий