-
BAT файл проблеми
Направих си един BAT файл, който да добавя един бутон в лентата с инструменти на Internet Explorer. При стартиране на BAT файла, излиза "меню" с опции за инсталиране, деинсталиране и изход. Проблемът е, че явно само на мен го отваря както трябва (с опции и т.н.), а всички, на които го дам, казват, че като го стартират и се затваря веднага (за части от секундата). Не мога да разбера защо така. Нали уж са стандартни команди на cmd? Не е зависим от папката, от която ще бъде стартиран. Пробвах да го местя в най-различни папки на компа ми и винаги работи. Защо, обаче, само при мен? Какво изпускам?
-
Re: BAT файл проблеми
Тъй като не знам какво прави и как, не мога изляза с предположение. Но бих предложил да пуснеш ехото, ако си го спрял, и да стартираш файла от командния ред, така че да следиш какво става. Провери и как работи на твоя компютър с друг потребител, може да е въпрос на права.
-
Re: BAT файл проблеми
Други аномалии. За експеримент, на същите хора, на които им дадох моя файл да го пробват, им дадох и друг BAT файл, който не е писан от мен. Става въпрос за инсталацията на IE-SpyAd, която е на същия принцип. При мен тя работи, но при другите или се затваря веднага или "мига бързо все едно е развален телевизор". Така ми го описаха. Мисля, че става въпрос все едно за повтаряне на един и същи цикъл постоянно на висока скорост без спиране. Подобно забиване. Бях шашнат, че и инсталацията на IE-SpyAd не им тръгва. Започнах да си мисля, че моя компютър, на който висчко върви без проблем, всъщност нещо му има.* :huh:
Някакви идеи?
-
Re: BAT файл проблеми
ами като за начало го качи някъде, за да видим за какво става дума
-
Re: BAT файл проблеми
Сложи в края на скрипта "pause", за да не се затваря автоматично и да могат "другите" да ти кажат какво изписва.
-
1 Прикачен файл(ове)
Re: BAT файл проблеми
Install.bat е моя файл, a IE-SpyAd.bat е инсталацията на SpyAd.
-
Re: BAT файл проблеми
Това choice има ли го там, където се стартира .bat файла? Ако не, може пак да ползваш SET /P. Вместо да питаш за User, не можеш ли да ползваш USERNAME? Друго, което можеш да смениш, е да пишеш дългите имена на папките и да ги ограждаш в кавички.
-
Re: BAT файл проблеми
Това с кавичките не го знаех. Благодаря. Другото обаче не го разбрах. Какво точно имаш предвид? Как така да ползвам Username? DOS има ли опция за текущ потребител както %windir% или %systemdrive%?
-
Re: BAT файл проблеми
Ами не съм сигурен за Windows 9x, в Windows XP обаче има. Със SET ще ги видиш всичките.
-
Re: BAT файл проблеми
То колко близо до акъла било. Аз проверих в Environemnt Variables (в Advanced Properties на My Computer) но не видях за акаунт и се учудих, че няма. Ще го преработя. и ще се тества пак. И все пак този също трябва да работи. Не виждам причина да не става. Отначало си помислих, че нещо съм оплескал аз нещата, но но след като на още 5 души не тръгна и инсталацията на SpyAd и се шашнах.
А, да. Има ли значение дали ще е .BAT или .CMD?
-
Re: BAT файл проблеми
С две думи: няма разлика.
По-дългата версия е, че ".bat" файловета са "DOS batch scipt", а ".cmd" - command scripts. Имат едно и също предназначение и под windows се изпълняват по един и същ начин.
Понеже windows е много глупава операционна система, видът на файла се определя от разширението на името му. (нормалните ОС не правят така). Така не ти се налага да преименуваш всички DOS скриптове от BAT на CMD, след като си преминал на NT-базирана ОС.
Командите изпълними в windows NT/2000/XP чрез cmd.exe (windows command prompt) и тези изпълними в DOS/Windows 3x/9x/ME чрез command.com (DOS command interptreter) не се припокриват напълно.
За да има обратна съвместимост, в NT-базираните windows-и (NTx/2000/XP/...) все още съществува и command.com. Доколкото знам, когато трябва да се изпълняват ДОС команди, cmd.exe стартира скрипта чрез command.com, който от своя страна обработва командите и предава заявките към операционната система, извиквайки второ копие на cmd.exe. Тъпо, нали? ;-)
Ако се чудиш какво става, когато в 1 файл има и от двата вида команди - няма проблем. Скриптовете се изпълняват ред по ред като за всеки ред файлът се отваря и затваря. cmd.exe изпълнява, докато не стигне до ред, който е предназначен за command.com и препраща. Този метод е много по-бавен, отколкото ако се отвори файла и се качи целият код в паметта наведнъж, но позволява писането на самомодифициращи се скриптове.
Като цяло бач скриптовете са отживелица в света на Windows. За автоматизиране на рутинни задачи ползвай VBS.
-
Re: BAT файл проблеми
На практика нещата не стоят чак толкова трагично - cmd има много добра обратна съвместимост, макар и не 100%, така че command се включва само за много изостанали или особено извратени програми/команди.
Досега не имало нещо, което да не мога да автоматизирам с .bat файлове - възможностите на cmd са неподозирано високи, особено когато се добавят разни малки инструментчета в стил Linux.
@Ghost
Това малко се отклонява от темата, но с благодарност ще се възползвам от съвета ти и ще започна да разучавам .vbs, макар да нямам непосредствена необходимост от това. Имам само съмнението, че по-големите възможности ще са за сметка на трудности при пускане от не-администратори, но ще видим.
@Raziel
От любопитство просто - какво стана с оригиналния проблем, откри ли какво ти мъчи скриптовете?