none
Найти все файлы определенного формата на большом количистве примапленных дисках в PoSh RRS feed

  • Вопрос

  • Ребят есть вопрос:

    Есть Windows Server 2003 R2, на нем 100 примапленных дисков+ еще и ссылки на диски, на каждом диске лежит некоторое количество фалов формата Tiff.

    Что необходимо:

     Выгрузить инфу о количестве всех файлов Tiff на всех дисках при помощи PowerShell.

    Только вот засада, Posh туда не поставить..есть тому причины и еще WinRM необходимо включить, что бы хотя бы удаленно можно было снять информацию, возможно ли не устанавливая  PosSh на сервер, как то установить хотя бы WinRM , что бы удаленно можно было подключиться и выполнить скрипт ? Еще и не перезагружая сервер..

    Никто не делал ?


    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!




    • Изменено rеstless 28 января 2013 г. 9:35
    28 января 2013 г. 8:35

Ответы

  • $path = "C:\file.txt"
    Select-String -Path $path -Pattern "\.tiff?" -Encoding OEM | Foreach {$Count=$Size = 0} {
    	$Count++
    	$Size += [int64]::Parse(($_.line -replace ".+\s{2,}(.*\d) .+\.tiff?$",'$1'),"AllowThousands")
    	} {
    		"{0} files - {1} gb" -f  $Count,([Math]::Round(($Size/1gb),4))
    }

    • Помечено в качестве ответа rеstless 30 января 2013 г. 4:32
    30 января 2013 г. 3:30
    Отвечающий

Все ответы

  • Сделать dir /s *.tiff > 1.txt

    Потом обработать текстовый файл на Powershell на другом компьютере.


    Сазонов Илья http://isazonov.wordpress.com/

    • Предложено в качестве ответа KazunEditor 28 января 2013 г. 17:10
    28 января 2013 г. 13:10
    Модератор
  • Сделать dir /s *.tiff > 1.txt

    Потом обработать текстовый файл на Powershell на другом компьютере.


    Сазонов Илья http://isazonov.wordpress.com/

      Да спасибо, но только вот мне тогла придется это делать для каждого диска, а вот что бы это dir прошел все луны примапленные к хосту ?

    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!

    28 января 2013 г. 13:32
  • Как насчёт Powershell Web Access? Он же вроде служба иис ? Если нет иис поставить отдельно и поверх пвша, правда незнаю получится или нет
    28 января 2013 г. 14:33
  • Как насчёт Powershell Web Access? Он же вроде служба иис ? Если нет иис поставить отдельно и поверх пвша, правда незнаю получится или нет

      Не знаю не прбовал, надо попробовать, но сейчас наверное все таки придется досовскими коммандами пройтись, немного "затупил" так сказать-совсем забыл что есть такие комманды как dir ,  а не только get-childitem )))

     Вот надо батничек накатать что бы dir сразу по всем , хотя бы 20-ти примапленным дисками пробежалси..


    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!

    29 января 2013 г. 3:37
  •   Ну вот выгрузил я файлец размером 1,6 гигабайта в текстовом формате и как мне теперь его изнутри PoSh проанализировать ? 

    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!

    29 января 2013 г. 11:04
  •   Ну вот выгрузил я файлец размером 1,6 гигабайта в текстовом формате и как мне теперь его изнутри PoSh проанализировать ? 

    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!


    На предмет чего анализировать?
    29 января 2013 г. 11:14
    Отвечающий
  •   Ну вот выгрузил я файлец размером 1,6 гигабайта в текстовом формате и как мне теперь его изнутри PoSh проанализировать ? 


    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!


    На предмет чего анализировать?

     Есть файлик txt с 1,6 гига размером, там выгруженная информация по файлам tif,tiff. Необходимо отсортировать, либо хотя бы получить количество фалов tiff и tif, а так же их размер..Вот на этот предмет и надо проанализировать ))

    select-string -path e:\upload.txt  -pattern "tiff","tif" а дальше ?...или не так надо ?

      

    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!


    • Изменено rеstless 29 января 2013 г. 12:07
    29 января 2013 г. 12:06
  •   Ну вот выгрузил я файлец размером 1,6 гигабайта в текстовом формате и как мне теперь его изнутри PoSh проанализировать ? 


    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!


    На предмет чего анализировать?

     Есть файлик txt с 1,6 гига размером, там выгруженная информация по файлам tif,tiff. Необходимо отсортировать, либо хотя бы получить количество фалов tiff и tif, а так же их размер..Вот на этот предмет и надо проанализировать ))

    select-string -path e:\upload.txt  -pattern "tiff","tif" а дальше ?...или не так надо ?

      

    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!



    Т.е структура файла и содержимое требуется угадать?
    29 января 2013 г. 12:09
    Отвечающий
  • Еще раз

    Задача стояла такая:

    так как на сервере хранится много контента в файлах с расширением tiff и tif, необходимо пройтись по всем лунам подключенным на сервере и возвратить значение с общей численностью файлов tiff и tif,  а так же с их общим размером!

     Но так как на сервере не стоит ни PosH ни WinRM, а так же WMI использовать удаленно  не получается (по временным техническим причинам), я решил выгрузить на самом сервере  командой dir  со всех лунов всю информацию по файлам с расширением tiff и tif и перенаправил ее в текстовый файл. Далее я скопировал этот файл себе на ПК где стоит Posh и теперь необходимо выполнить вторую часть -а именно подсчитать общее количество всех файлов tiff и tiff  в этом текстовом файле+ их общий размер в мегабайтах,или гигабайтах.

    Вопрос:

    Какой командой в данный момент можно это сделать,если возможно ?

    Странно именно на Itanium Win 2003 Datacenter обычно с Winrm или WMI проблемы-невозможно удаленно выполнить команды Posh, хотя все Firewall отключены...

    Спасибо!


    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!



    • Изменено rеstless 29 января 2013 г. 18:50
    29 января 2013 г. 18:45
  • $path = "C:\file.txt"
    Select-String -Path $path -Pattern "\.tiff?" -Encoding OEM | Foreach {$Count=$Size = 0} {
    	$Count++
    	$Size += [int64]::Parse(($_.line -replace ".+\s{2,}(.*\d) .+\.tiff?$",'$1'),"AllowThousands")
    	} {
    		"{0} files - {1} gb" -f  $Count,([Math]::Round(($Size/1gb),4))
    }

    • Помечено в качестве ответа rеstless 30 января 2013 г. 4:32
    30 января 2013 г. 3:30
    Отвечающий
  • $path = "C:\file.txt"
    Select-String -Path $path -Pattern "\.tiff?" -Encoding OEM | Foreach {$Count=$Size = 0} {
    	$Count++
    	$Size += [int64]::Parse(($_.line -replace ".+\s{2,}(.*\d) .+\.tiff?$",'$1'),"AllowThousands")
    	} {
    		"{0} files - {1} gb" -f  $Count,([Math]::Round(($Size/1gb),4))
    }

     Круто! Спасибо!

     Надо PoSh изучать плотнее, все никак времени не хватает сесть вот так плотно, а то все кусками все урывками :-))

     Тут вот поставил PoSh 1.0 для Itanium, но ни WinRM , не WMI удаленно не пашут, а для itanium ничего более нету из WinRM core..:-((


    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!


    • Изменено rеstless 30 января 2013 г. 4:34
    30 января 2013 г. 4:32
  •  Я прошу прощения за назойливость, файлы Tiff скрипт отработал, а вот я попробовал вставить формат файла Tif , то есть с одним символом Tif, то скрипт у меня заругался:

    Exception calling "Parse" with "2" argument(s): "Input string was not in a corr
    ect format."
    At line:4 char:25
    +     $Size += [int64]::Parse <<<< (($_.line -replace ".+\s{2,}(.*\d) .+\.tif?$
    ",'$1'),"AllowThousands")
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : DotNetMethodException

    Я так понимаю, что это вызвано тем, что в текстовом фале просто нет такого формата как TIF ? Либо аргументы где то не корректные ?

    Заранее благодарен!


    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!




    • Изменено rеstless 30 января 2013 г. 4:56
    30 января 2013 г. 4:48
  •  Я прошу прощения за назойливость, файлы Tiff скрипт отработал, а вот я попробовал вставить формат файла Tif , то есть с одним символом Tif, то скрипт у меня заругался:

    Exception calling "Parse" with "2" argument(s): "Input string was not in a corr
    ect format."
    At line:4 char:25
    +     $Size += [int64]::Parse <<<< (($_.line -replace ".+\s{2,}(.*\d) .+\.tif?$
    ",'$1'),"AllowThousands")
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : DotNetMethodException

    Я так понимаю, что это вызвано тем, что в текстовом фале просто нет такого формата как TIF ?

    Заранее благодарен!


    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!




    Должно быть - $Size += [int64]::Parse(($_.line -replace ".+\s{2,}(.*\d) .+\.tiff?$",'$1'),"AllowThousands")
    А не \.tif?$,т.к под шаблон tiff? попадают,как tiff,так и tif.
    30 января 2013 г. 4:57
    Отвечающий
  •  Ок! Спасибо, значит tiff? -это шаблон .

    Люди тратят здоровье, что бы заработать $, а затем тратят $, что бы вернуть здоровье!


    • Изменено rеstless 30 января 2013 г. 5:42
    30 января 2013 г. 5:42