none
powershell cyberduck longlist крокозябры RRS feed

  • Вопрос

  • хочу с помощью команд  cyberduck прочитать список файлов и папок который у меня на Yandex disk
    Делаю это с помощью команды.
    $list = & duck --longlist $dest --parallel 100 --assumeyes -p ppp
    Но для случая если у меня по адресу $dest находятся кирилические файлы или папки.
    То в списке полученном указанной командой они добавляются крокозябрами.
    lnk
    а так вот выглядит содержимое папки $dest
    lnk

    подскажите как поправить команду?

    И вообще это нужно какой-то ключ для cyberduck  искать?
    Или это нужно некий ключ дописать в powershell чтобы он правильно кодировку увидел?
    • Изменено korggrodno3 27 марта 2018 г. 12:34
    27 марта 2018 г. 12:25

Ответы

  • Никогда не использовать ISE для выполнения скриптов, он устарел и не будет поддерживаться разработчиками.

    Для консоли PowerShell : выставить 

    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
    PS > duck --longlist https://webdav.yandex.ru/1/ --parallel 100 --assumeyes
    Login successful…
    ---     Mar 28, 2018 9:42:03 AM         1 - копия.txt
    ---     Mar 28, 2018 9:42:05 AM         2 - копия.txt


    • Помечено в качестве ответа KazunEditor 30 марта 2018 г. 9:03
    28 марта 2018 г. 6:50
    Отвечающий

Все ответы

  • Приложить содержимое $list текстом, а не картинкой.
    27 марта 2018 г. 13:13
    Отвечающий
  • Вот прикрепил ввиде файла.

    lnk


    • Изменено korggrodno3 27 марта 2018 г. 13:27
    27 марта 2018 г. 13:26
  • PS > [Text.Encoding]::utf8.GetString([Text.Encoding]::GetEncoding(1251).GetBytes((gc 4.txt -raw)))
    ---     27.03.2018 16:20:55             2 — копия.txt
    ---     27.03.2018 16:20:54             2.txt

    27 марта 2018 г. 14:16
    Отвечающий
  • $list = $list | % { [Text.Encoding]::utf8.GetString([Text.Encoding]::GetEncoding(1251).GetBytes($_)) }


    Если попытаться эту команду выполнить в powershell ise то все работает.
    lnk
    Если же попытаться эту команду выполнить не посредственно в powershell то не работает.
    lnk
    А мне нужно именно в powershell выполнять скрипты.
    28 марта 2018 г. 6:05
  • прокатила такая строчка.

    $list = $list | % { [Text.Encoding]::utf8.GetString([Text.Encoding]::GetEncoding(866).GetBytes($_)) }

    А можно ли как нить поправить чтобы безразницы было в чем выполняется скрипт в powershell ise или в powershell

    28 марта 2018 г. 6:36
  • Никогда не использовать ISE для выполнения скриптов, он устарел и не будет поддерживаться разработчиками.

    Для консоли PowerShell : выставить 

    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
    PS > duck --longlist https://webdav.yandex.ru/1/ --parallel 100 --assumeyes
    Login successful…
    ---     Mar 28, 2018 9:42:03 AM         1 - копия.txt
    ---     Mar 28, 2018 9:42:05 AM         2 - копия.txt


    • Помечено в качестве ответа KazunEditor 30 марта 2018 г. 9:03
    28 марта 2018 г. 6:50
    Отвечающий
  • Спасибо . Видать придется осваиваться с Visual Studio Code

    Он да не привычный немножко.

    Но надеюсь он будет менее глючный чем всякие power gui и powershell ise

    6 апреля 2018 г. 5:29