![]() |
Имя в переменную и запуск приложения для разных файлов в папке
Здравствуйте. Помогите пожалуйста, сам не могу сообразить.
Есть папка с различными файлами, из которой запускается батник, выполняющий программу на работу с файлом *.txt преобразуя его в "txt.kml": Код:
"%ProgramFiles(x86)%\GPSBabel\gpsbabel.exe" -w -i unicsv -f "%~dp0*.txt" -o kml -F "%~dp0\txt.kml" Необходимо написать код со следующими условиями: 1. Добавить в текстовый файл первой строкой текст типа "Name,Long,Lat" 2. Чтобы вместо "txt.kml" было "имя_обрабатываемого_файла.kml" Опционально: Если есть такая возможность, запускать этот скрипт для всех txt файлов в папке. |
Сильно не вникая так:
Код:
@echo off |
Код:
@Echo Off Ежели всё-таки это необходимо, уберите rem перед move alpap, ИМХО, Вы портите все исходные файлы, там записывается одна строка :Name,Long,Lat вместо исходного контента.
Код:
@echo off |
Цитата:
Код:
echo:Name,Long,Lat>$& copy "$"+"%d%\%%~nxa"& move $ "%d%\%%~nxa" |
megaloman, спасибо, все работает как нужно, иногда в файле бывают русские символы, можно перекодировать обрабатываемый файл в utf-8 without BOM? Нашел код, не получается встроить в Ваш скрипт, чтобы все работало вместе.
Код:
:: Win-1251 to UTF-8 |
Добавил перекодировку с помощью iconv.
Код:
@Echo on |
Если есть PS, чтобы не качать iconv, можно и так перекодировать:
Код:
@echo off |
Как я понял из wiki PowerShell идет начиная с windows 7, в XP его нужно скачивать и устанавливать. Тогда iconv универсальней (буду носить ее рядом со скриптом). Можно будет запустить на любой машине с windows.
|
«Универсальней» будет использовать WSH, который точно в комплекте, и который носить не надо.
|
Ну да:
Код:
@set @x=0; /* |
alpap, при запуске на win7x64 пишет: Convert.cmd (1, 6) Ошибка компиляции Microsoft JScript: Условная компиляция выключена.
Где-то нужно оператор условной компиляции добавить? Причем на win8.1x64 и win10x64 работает |
Время: 22:13. |
Время: 22:13.
© OSzone.net 2001-