NinjaScript
26-03-2015, 17:59
Добрый вечер. Помогите, пожалуйста разобраться с нюансами кодировок в cmd/bat и , по возможности, доработать скрипт.
Суть такова:
dir d: |find "свободно" >> "c:\Program Files\backups\Logs\log 2015-03-23.txt"
pause
Собственно, скрипт, который нужен, чтобы в конец текстового файла-лога дописывалась информация о свободном месте на указанном диске (в данном случае диске "d").
По началу проблемы возникали с частью кода "find "свободно" который в консоли выводился как "find "ётюсюфэю" и, соответственно не находил нужную строку.
После серфинга интернетов по проблемам кодировки в cmd, шаманинга с chcp разными кодировками и сохранением в notepad, стало ясно, что лечится это как раз таки сохранением через notepad в кириллической кодировке OEM 866.
Но теперь возникла проблема с выводом результата в текстовый файл. На выходе видны только кракозябры.
Как это можно исправить?
Также хотелось бы узнать как задать маску поиска текстового файла, чтобы скрипт дописывал информацию о свободном месте в последний по дате лог-файл. Если в коде указать вместо "c:\Program Files\backups\Logs\log 2015-03-23.txt"
"c:\Program Files\backups\Logs\log*.txt"
Скрипт не работает.
Заранее спасибо.
Суть такова:
dir d: |find "свободно" >> "c:\Program Files\backups\Logs\log 2015-03-23.txt"
pause
Собственно, скрипт, который нужен, чтобы в конец текстового файла-лога дописывалась информация о свободном месте на указанном диске (в данном случае диске "d").
По началу проблемы возникали с частью кода "find "свободно" который в консоли выводился как "find "ётюсюфэю" и, соответственно не находил нужную строку.
После серфинга интернетов по проблемам кодировки в cmd, шаманинга с chcp разными кодировками и сохранением в notepad, стало ясно, что лечится это как раз таки сохранением через notepad в кириллической кодировке OEM 866.
Но теперь возникла проблема с выводом результата в текстовый файл. На выходе видны только кракозябры.
Как это можно исправить?
Также хотелось бы узнать как задать маску поиска текстового файла, чтобы скрипт дописывал информацию о свободном месте в последний по дате лог-файл. Если в коде указать вместо "c:\Program Files\backups\Logs\log 2015-03-23.txt"
"c:\Program Files\backups\Logs\log*.txt"
Скрипт не работает.
Заранее спасибо.