![]() |
Скомпилированный из "батника" exe работает только в папке с исходниками.
Доброго времени суток всем!
Может у кого была подобная проблема, что посоветуете. Написал батник для замены нужного текста в различных текстовых файлах. В основе консольная утилита nhrt (nhreplace) Для удобства пользования скомпилировал программой Quick Batch File Compiler исполняемый exe файл. Но вот незадача, что батник, что exe нормально отрабатывают только в папке с исходниками. С других папок запускаются, но половина команд не обрабатывается. Что-то неправильно с путями. Сам bat файл: Код:
@echo off Подскажите, пожалуйста, что в нём не так ? |
если код выше полный, то где назначение переменной %MYFILES% ?
если неполный, то вижу что на разных дисках работа идет, а командой "cd" можно переходить только в пределах текущего диска, для перехода и с учетом диска надо использовать ключ /d, вот так: cd /d "Диск:\Папка" |
Цитата:
cd /d "Диск:\Папка" пробовал - безрезультатно. Вернее из ком. строки работает, если использовать путь C:\Users\User\AppData\Local, из скомпилированного exe не хочет. |
Uragan66, а если попробовать вместо Cd после Chcp
Pushd "%MYFILES%\" и, соответственно, далее в коде убрать все поминания на %MYFILES%\ Кстати, а где находится утилита nhrt.exe? Она тоже распаковывается в эту злополучную папку %myfiles% ? Она там присутствует? Может быть, надо указать полный реальный путь к ней? Или скопировать её в папку прописанную в параметрах системы в путях, например, windows\system32, соответственно убрав при вызове утилиты всё то же %MYFILES%\ |
Цитата:
Цитата:
P.S. нужно наверное только прописывать путь для nhrt.exe в PATH. Но как это правильно прописать в моём bat файле ? |
Цитата:
Как минимум, для теста: Код:
@echo off где расположены: Цитата:
|
Цитата:
Цитата:
|
Цитата:
так: Цитата:
|
Цитата:
|
Путём взаимоисключения пришел к такому коду:
Код:
@echo off Спасибо всем за подсказки! |
Цитата:
Так: Код:
... |
YuS_2, спасибо за совет. Работает отлично и без временной задержки. Просто пробовал все варианты, да и оставил в коде start.
Сейчас код сократился до такого: Код:
@echo off |
Время: 05:23. |
Время: 05:23.
© OSzone.net 2001-