Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Батник не видит файл сразу после распаковки sfx архива

Ответить
Настройки темы
CMD/BAT - [решено] Батник не видит файл сразу после распаковки sfx архива

Новый участник


Сообщения: 34
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Здравствуйте. Проблема с bat файлом после распаковки sfx архива. в папке работает на ура, при запуске после распаковки, то пишет не найден фаил. Мозг уже сломал, но ни в какую.

Отправлено: 14:31, 30-04-2017

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Black_SOKOL, разговор ни о чём. Где пакетный файл? Где самораспаковывающийся архив? В каких условиях происходит описанное?
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:35, 30-04-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Сейчас сброшу. install. bat - https://yadi.sk/d/mylMnISC3HVWLg
сам архив - https://yadi.sk/d/gzcQ7Rhs3HVWNh
Так из папки всё отлично работает, но запускаю sfx и само распаковывающийся архив запускает батник, тогда он не находит файла программы.

Последний раз редактировалось Black_SOKOL, 30-04-2017 в 15:34. Причина: й


Отправлено: 15:32, 30-04-2017 | #3

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


Цитата Black_SOKOL:
тогда он не находит файла программы. »
Не прописаны пути в батнике. А ведь рабочая папка батника не обязана совпадать с той, в которой лежит он сам.

Надо вместо
START AVZ.EXE
сделать
START %~dp0AVZ.EXE

(слэш после %~dp0 не нужен) — и батник будет искать файл именно в том каталоге, из которого запущен сам. Независимо от расположения и имени этого каталога.

В конце батника — то же самое.

-------
Mikhail Zhilin


Отправлено: 15:46, 30-04-2017 | #4


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот об этом думал, но не знал как описать. Запомню, да и можете все команды батников скинуть?

Отправлено: 15:54, 30-04-2017 | #5

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


Цитата Black_SOKOL:
все команды батников »
https://yandex.ru/search/?text=%D1%8...0%B4%20cmd.exe

PS
Вас же скорее интересует Описание основных возможностей сценариев командной строки

-------
Mikhail Zhilin


Последний раз редактировалось mwz, 30-04-2017 в 16:08.


Отправлено: 16:01, 30-04-2017 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Ошибок полная куча.

Код: Выделить весь код
Path=C:\Users\%UserName%\Desktop\
1. Диск c: может не существовать.
2. Каталог Users на c: может не существовать.
3. Работа может идти в ОС ниже Vista. Отсюда — не Users, и не Desktop.
4. Имя каталога профиля пользователя может отличаться от имени пользователя.
Посему — %temp%, %UserProfile%, %AppData%. В данном случае — вообще ничего не задавать, пусть ставится в %ProgramFiles%, мы же вирусы собираемся искать, али что?!

Код: Выделить весь код
Setup=C:\Users\%UserName%\Desktop\avz4\install.bat
Это:
Цитата:
Setup=<программа>

После удачного извлечения файлов SFX-модуль попытается запустить указанную <программу>. При этом перед запуском <программы > текущей папкой будет сделана та, в которую были извлечены файлы. Если в имени программы есть пробелы, то оно должно быть взято в кавычки.
— кому написано? А если пользователь укажет иной путь при распаковке — что тогда?!
Код: Выделить весь код
Setup=".\avz4\install.bat"
Теперь по самому install.bat. Что Вы хотите получить? Что такое %SYSTEMDISK%, откуда она взялась, что в ней? Зачем Вы пытаетесь асинхронно вызвать avz.exe из того каталога, в котором его нет? Зачем без конца крутите цикл без внутренней паузы — чтобы тупо полностью загрузить одно ядро, дабы avz лишнего не досталось?! Для чего параметр /wait был придуман, а? Внутри архива install.bat отличается иным содержимым, которое ещё краше (но там хоть раз /wait есть), во всяком случае, понять, для чего нужно внутри того же цикла ожидания:
Код: Выделить весь код
dir %USERNAME% /s /b | find "avz.exe">nul&& goto loop1
— не смог осмыслить. Зачем там два вызова AVZ с двумя скриптами, когда вполне можно обойтись одним?! Зачем там вообще пакетный файл, когда вместо него просто указываем вызов самого AVZ?!

Цитата mwz:
сделать
START %~dp0AVZ.EXE »
Я бы даже сказал:
Код: Выделить весь код
start "" "%~dp0AVZ.EXE"
— в общем случае.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:48, 30-04-2017 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Батник не видит файл сразу после распаковки sfx архива

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] просмотр файла в архиве без распаковки архива jah Хочу все знать 16 21-06-2014 21:00
Запрос от SFX архива, какой батник запускать? ASiRU Автоматическая установка приложений 2 01-02-2013 14:37
PowerShell - Запись лога распаковки архива abramov90 Скриптовые языки администрирования Windows 3 12-11-2012 19:16
CMD/BAT - [решено] Вопрос как удалять zip файл после распаковки очередного архива ? dark-------13 Скриптовые языки администрирования Windows 2 26-02-2012 11:09
Создание SFX архива Panteley Автоматическая установка приложений 1 22-06-2007 18:52




 
Переход