PDA

Показать полную графическую версию : Выполняется только из командной строки


maxim43g
29-07-2020, 16:18
Написал банальный батник, который чекает папку, и копирует туда содержимое.
Но вот беда, если я запускаю его и командной строки C:\1.bat , то всё супер.
Но если запускаю двойным щелчком, то черное окно мерцает и ничего не происходит.
Помогите пожалуйста

chcp 1251
if exist "%AppData%\Miranda\Miranda32.exe" exit
md %Appdata%\Miranda
xcopy \\10.11.16.100\Miranda "%AppData%\Miranda\" /f /s /i /y
copy \\10.11.16.100\miranda\miranda.lnk "%homepath%\Рабочий стол"
copy \\10.11.16.100\miranda\miranda.lnk "%homepath%\Главное меню"
copy \\10.11.16.100\miranda\miranda.lnk "%homepath%\Главное меню\Программы\Автозагрузка"
copy \\10.11.16.100\miranda\miranda.lnk "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup"
copy \\10.11.16.100\miranda\miranda.lnk "%homepath%\Desktop"

chdir "%AppData%"

start Miranda\Miranda32.exe

iglezz
29-07-2020, 19:08
Первичная отладка батников - через echo и pause
И, в некоторых более сложных случаях, с запуском "cmd /k c:\папка\батник.cmd"

Вот это:
if exist "%AppData%\Miranda\Miranda32.exe" exit
говорит о том, что батник отработает один раз под текущим пользователем

А chdir "%AppData%" будет срабатывать только если батник расположен на том диске, что и %Appdata%
Надо chdir /d "%AppData%"
start Miranda\Miranda32.exe
или сразу
start "" "%AppData%\Miranda\Miranda32.exe"

maxim43g
05-08-2020, 12:43
Спасибо, это помогло.
Но теперь новая проблема.
Через ГПО, пытаюсь сценарием входа сделать, что бы сработал батник (тупо скопировать файлы в папку),но не работает.
gpresult показывает, что политика применяется.
в ручную по шаре где лежит .bat переходит, вручную запускается и работает.
Хотя со своей машины, я захожу под учеткой юзера и всё выполняется.




© OSzone.net 2001-2012