Как выбрать самый новый файл со списка?



  • Здравствуйте, использую "Поиск Файлов", в списке файлы идут по названию, а мне нужно получить самый новый.



  • Как вариант в цикле использовать действие "Информация О Файле/Папке ", но я не знаю как сравнить даты такого формата 2017-06-18T14:52:08.000Z



  • @OLEG Вот тут я использовал костыль, чтобы найти самый новый файл. Тебе подойдёт идеально.
    А даты сравнивать можно так же как и цифры, BAS понимает такие даты.



  • @Fox Спасибо за очень быстрый ответ!



  • @Fox а не знаете как быть если в файле есть русские символы?
    BAS их в ������ ����� переделывает.



  • @OLEG said in Как выбрать самый новый файл со списка?:

    @Fox а не знаете как быть если в файле есть русские символы?
    BAS их в ������ ����� переделывает.

    Сталкивался с таким, проблема была в кодировке файла, попробуй с помощью notepad++ преобразовать кодировку в UTF-8.



  • @santilo Спасибо, но мне нужно чтобы BAS обработал эти данные.



  • @OLEG said in Как выбрать самый новый файл со списка?:

    @santilo Спасибо, но мне нужно чтобы BAS обработал эти данные.

    Ты преобразуй файл, а после уже указывай его басу, и он будет нормально понимать русские символы. Или тебе что другое нужно?



  • @OLEG Можешь взять win-iconv и выполнить одиночно в запустить процесс

    win_iconv.exe -t UTF-8 -f  WINDOWS-1251 input > output
    

    либо циклически

    FOR /R %%I IN (*.txt) DO win_iconv.exe -t UTF-8 -f WINDOWS-1251 %%I > %%I
    


  • @santilo перекодировка не помогла, символы все равно остались крякозябрами.



  • @Fox
    я только что попробовал в онлайн декодере преобразить UTF-8 в WINDOWS-1251
    Но не получилось.
    Вот строка исходная строка: vlc-record-2017-06-21-16h53m22s-������ ����� (16_9)-.ts
    Эту строку я получаю когда выполняю процесс через BAS, а когда просто запуская батник, то русские символы нормально отображаются.



  • @OLEG Можно много как решить проблему, просто я не совсем понимаю где она проявляется..
    Судя первому вопросу

    Здравствуйте, использую "Поиск Файлов", в списке файлы идут по названию, а мне нужно получить самый новый.

    и последнему:

    Вот строка исходная строка: vlc-record-2017-06-21-16h53m22s-������ ����� (16_9)-.ts

    Тебе нужно получить самый новый файл в папке, ты используешь экшен запустить процесс

    dir "c:\BrowserAutomationStudio\logs\log\" /O:D /B
    

    и если в результате попадаются русские символы, BAS их не отображает..
    Я посмотрю что можно сделать, а пока можешь тупо в запустить процесс написать путь до батника и запускать его. В самом батнике сохраняй результат в файл, а в скрипте его читай..



  • @OLEG Нашёл, дело в том, что BAS получает ответ из командной строки в кодировке dos 866, а кирилицу видит только в utf-8. Решение:

    chcp 65001
    dir "c:\BrowserAutomationStudio\logs\log\" /O:D /B
    

    В ответе будет читабельная кирилица.


Log in to reply
 

  • 7
  • 6
  • 2
  • 3
  • 2
  • 23
  • 6
  • 11