PDA

Показать полную графическую версию : Не работает bat файл в windows 7


Страниц : [1] 2

vasya00
15-12-2012, 14:34
Подскажите, почему может не работать bat файл самого простого содержания REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V Shell /D "explorer.exe" /f если его просто запустить.. А если его прописать в строке CMD то все прекрасно работает.. Почему так??

Iska
15-12-2012, 14:58
vasya00, как назван Ваш «bat файл самого простого содержания»?

vasya00
15-12-2012, 15:03
000.bat
windows7 x64 если это важно

лежит в c:\reg\000.bat нечего сложного...

Petya V4sechkin
15-12-2012, 15:29
если его просто запустить
От имени Администратора (http://www.oszone.net/4331#5)

vasya00
15-12-2012, 15:56
Запуск от имени Администратора не помогает..именно для команды REG, другое работает..

Petya V4sechkin
15-12-2012, 16:35
vasya00, неужели вы запускаете BAT-файл из Total Commander?

vasya00
15-12-2012, 16:41
нее, правой кнопкой запуск от имени.. я подозреваю что-то не так...?))

Petya V4sechkin
15-12-2012, 16:43
vasya00, никому неизвестно, что у вас не так.
Играть в угадалки надоело. Добавьте в конец файла:
pause
и покажите результат.

vasya00
15-12-2012, 16:46
добавлял, результата нет, окно сразу пропадает...

Petya V4sechkin
15-12-2012, 16:48
vasya00, это прекрасно.
Поищите у себя reg.cmd или reg.bat и удалите.

vasya00
15-12-2012, 17:04
ОО спасибо большое все наконец-то заработало...
Еще конечно есть вопрос, если этот bat файл запускается не вручную а его запускает программа, то появляется окно о том что все успешно, но значение реестра не импортируется, в Windows XP все работало.. Возможно если bat запускается программой то не с правами администратора? В этом может быть проблема или тогда не писал бы что все успешно?

Владислав_Поплавский@vk
03-11-2014, 18:00
SET BINDIR=%~dp0
CD /D "%BINDIR%"
java -Xincgc -Xmx1G -Dfile.encoding=UTF-8 -jar craftbukkit-1.7.2-R0.1.jarpause




подкариктуруйте плиз не запускается

Georgio
03-11-2014, 18:46
Владислав_Поплавский@vk, вот цитата из этой же темы:
никому неизвестно, что у вас не так.
Играть в угадалки надоело. Добавьте в конец файла: pause и покажите результат. ».

михаил5
30-06-2016, 12:48
здравствуйте.
занимался созданием простого cmd-файла, цель которого отключать переход на летнее время, путем внесения двух записей в реестр.
цель двухступенчатая:
1. отключать переход на летнее время (записями в реестр).
2. использовать команду net time для синхронизации часов пользователей с часами сервера.

для чего это нужно:
при использовании net time без отключения перехода на летнее время, пользовательская система искажает время на час, относительно времени на сервере.
программа будет ставиться в автозагрузку пользователям, что позволит всегда поправлять время на "автомате".

команда net time работает идеально.
а вот с командой reg add возникли непонятные сложности.

текст cmd-файла:
reg add HKLM\SYSTEM\ControlSet001\Control\TimeZoneInformation /v DisableAutoDaylightTimeSet /t REG_DWORD /d 00000001 /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v DisableAutoDaylightTimeSet /t REG_DWORD /d 00000001 /f
pause

поведение reg add:
при запуске такого текста окошко подмигивает тебе без результата.
pause - не спасает положение.
запуск файла через cmd.exe, строку тотала, через "выполнить", не меняет положение.
reg.cmd и reg.bat полностью отсутствуют на с:
запускал программу по разному: со стола, с диска, другой программой, из под админа - нет изменений.
изменял текст файла (ставил кавычки в названиях веток) - результата нет.

при запуске cmd.exe от админа, и запуске из него данного файла выдается ошибка |r не является
внутренней или внешней...

название файла: 22.cmd
система: xp (pro, sp3) 32-bit
через *.reg-файл все работает (следовательно, как я понимаю, запрета на запись в реестр - нет).
cmd.exe - спокойно лежит в system32

что за чудо, и что я делаю не так?
спасибо за ответ.

Petya V4sechkin
30-06-2016, 16:53
михаил5, сделайте лог Process Monitor (http://technet.microsoft.com/ru-ru/sysinternals/bb896645) следующим образом:
запустите Process Monitor;
попытайтесь запустить проблемный CMD-файл;
сохраните лог: меню File -> Save -> PML-формат;
заархивируйте и выложите на любой файлообменник, например rghost.ru.

михаил5
30-06-2016, 18:56
сделал.
лог залил на яндекс-диск
yadi.sk/d/x1muKJDnsue8U

Petya V4sechkin
30-06-2016, 19:01
михаил5, так у вас же CMD-файл в Юникод кодировке :)
Сохраните в ANSI.

михаил5
30-06-2016, 19:12
заработало.
спасибо Petya V4sechkin.
не знал такой тонкости, очень интересно.
в добавок, если вас не затруднит, опишите пожалуйста вкратце как это "узналось" из лога (или направьте туда, где модно прочитать, подучиться).
или вы просмотрели сам 2-2.cmd ?
спасибо.

Petya V4sechkin
30-06-2016, 19:16
или вы просмотрели сам 2-2.cmd ?
Ну да.

михаил5
30-06-2016, 19:22
все же спасибо.
как доделаю программу и потестирую на машинах (чтобы работало без последствий), поделюсь кодом.
может где-то, так же, сидит с.а. , которого регулярно достают просьбами поправить часы после сомнительных запусков, обновлений и загрузок.

кроме того, стал интересен факт, что одни команды строки (написанные в cmd-пакет) спокойно работают в Юникоде, а другие требуют для работы ANSI.




© OSzone.net 2001-2012