Добрый день. Я сам не программист, но понадобилась довольно простая утилита. Что бы открывалось окно с кнопками, по нажатию которых запускался бы нужный мне .bat файл, и он бы уже сам все свои дела делал. Прочитал много всего, и вроде получилось. И тут же возникла проблема. Долго вожусь с ней.
Есть файл copy.bat и рядом с ним папка files. В папке один файл 1.mp3
В .bat файле прописано вот что:
copy files\1.mp3 files\2.mp3
copy files\1.mp3 files\3.mp3
copy files\1.mp3 files\4.mp3
copy files\1.mp3 files\5.mp3
Т.е. я его запускаю и по и итогу у меня в папке files получаются 5 mp3 файлов, все ок.
Создаю в Hiasm кнопку, а от нее связь к WinExec. В параметре FileName ввожу copy.bat проверяю и все ок. Но это если проект Hiasm лежит в одной директории с этим .bat файлом. Но у меня то таких много планируется, соответственно я создаю поддерикторию (например test) и помещаю туда .bat файл и папку files. А в параметре FileName ввожу уже test\\copy.bat (и с одним слешем вводил). Тестю прогу, и ничего. Т.е. .bat файл вроде запускается, но он не копирует файлы. Причем если просто его запустить, то все ок. Связи от кнопки я по разному тоже делал, ничего не понимаю. Т.е. грубо говоря если все в одной папке лежит, то все ок, а если в поддиректории, то фейл.
Этот топик читают: Гость
Ответов: 13
Рейтинг: 0
|
|||
карма: 1 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 3 раз(а), последний 2025-01-10 23:06:54 |
|||
карма: 0 |
|
Ответов: 13
Рейтинг: 0
|
|||
195.191.168.247 писал(а): Возможно это поможетСпасибо, но я и так использую "удвоенный \" да и папку tesе по разному именовал. Тут еще вот что выяснил. Решил костыли сделать. Создал ехешник, назвал его kostyl.exe в котором прописал запуск copy.bat и они лежат в одной директории test Т.е. запуская kostyl.exe и жмакая в нем кнопку, copy.bat отлично запускается. Далее я уже создаю главный ехе файл, в нем прописываю запуск файла test\\kostyl.exe, вроде работает, kostyl.exe запускается, но когда я в нем жму кнопку, опять ничего не происходит. Хотя если я его на прямую запускаю, то все ок, что за мистика ? |
|||
карма: 1 |
|
Ответов: 8948
Рейтинг: 824
|
|||
Pudrikello, над полем ввода полезные ссылки, не гадать на кофейной гуще
![]() |
|||
карма: 19 |
|
Ответов: 163
Рейтинг: 33
|
|||
Pudrikello, попробуй первой строчкой в bat файле прописать
cd /d %~dp0 |
|||
карма: 3 |
|
Ответов: 13
Рейтинг: 0
|
|||
Леонид, что прости ? Не совсем понял тебя)
GreM, спасибо, попробую) |
|||
карма: 1 |
|
Ответов: 8948
Рейтинг: 824
|
|||
Pudrikello, вы на пальцах объясняете, лучше выложить схемку, виднее и понятнее.
|
|||
карма: 19 |
|
Ответов: 13
Рейтинг: 0
|
|||
Леонид, вот я залил http://forum.hiasm.net/forum_serv.php?q=56&id=4419 там все просто в принципе. v 1.0 это то что я в первом посте описал, а v 2.0 это уже то что я про костыль дополнил.
Удивляет то почему если я kostyl.exe запускаю напрямую, то все окей, а если я запускаю его через прогу (v 2.0.exe) он запускается, но не выполняет свою функцию. Может когда запускаю через прогу, она запускаемый ехешник или bat файл, копирует куда то во временную папку и оттуда уже запускает, и поэтому ничего не работает, ведь суть же в том что бы они запускались из конкретных директорий. |
|||
карма: 1 |
|
Ответов: 817
Рейтинг: 52
|
|||
195.191.168.247 писал(а): Есть файл copy.bat НИКОГДА не обзывай батники зарезервированными именами Напиши в консоли copy /? и ты поймешь, что файл с таким именем уже есть и он находится в %SystemRoot%\System32\ Говорю не просто так, а из личного опыта. |
|||
карма: 1 |
|
Ответов: 13
Рейтинг: 0
|
|||
-= DriveR =-, это я понял, но я по всякому называл. Проблема увы не в этом.
|
|||
карма: 1 |
|
Ответов: 817
Рейтинг: 52
|
|||
Pudrikello,
В батнике пиши так copy %cd%\files\1.mp3 %cd%\files\5.mp3 |
|||
карма: 1 |
|
Ответов: 13
Рейтинг: 0
|
|||
-= DriveR =-, увы результат тот же. Если батник запускать напрямую то все отлично, а если через утилиту, то фейл.
|
|||
карма: 1 |
|
Ответов: 817
Рейтинг: 52
|
|||
Pudrikello,
Держи, у меня отработало как надо code_37635.txt Батник обзави "copy_file.bat" внутри батника должно быть так copy %cd%\files\1.mp3 %cd%\files\2.mp3 copy %cd%\files\1.mp3 %cd%\files\3.mp3 copy %cd%\files\1.mp3 %cd%\files\4.mp3 copy %cd%\files\1.mp3 %cd%\files\5.mp3 |
|||
карма: 1 |
| ||
файлы: 1 | code_37635.txt [449B] [472] |
Ответов: 13
Рейтинг: 0
|
|||
-= DriveR =-, спасибо за помощь, но он вроде работает так же. Если программа лежит в одной папке с бат файлом, то все окей. Но если я выношу ехе файл на уровень выше, то снова ничего не работает, т.е. батник вроде запускается, но ничего не копирует. Путь к батнику в параметрах программы я меняю на test\\copy_file.bat Какой то парадокс((
|
|||
карма: 1 |
|
Ответов: 817
Рейтинг: 52
|
|||
Pudrikello,
Pudrikello писал(а): Но если я выношу ехе файл на уровень вышеВыше это куда, что в твоем понимании "Выше"? Если у меня все лежит в корне С:\ то куда выше то? Нарисуй иерархию папок как должно быть или выложи скриншот на котором видно как ты хочешь ------------ Дoбавленo в 13.32: Кажется я тебя понял вот так хотел? http://forum.hiasm.com/forum_serv.php?q=56&id=4420 ------------ Дoбавленo в 13.34: Да, забыл. в батнике убери "Pause" |
|||
карма: 1 |
|