Войти

Показать полную графическую версию : [решено] Добавление в папку автозагрузка - CMD/BAT


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

Nun-Nun
07-01-2018, 02:15
Превосходно. Мы видим, что интерпретатор команд запускается. Файлы удалились или нет? »
Нет, файлы никуда не делись. Во всяком случае, это выглядит именно так.
Теперь возьмите Process Explorer и покажите вкладку Image свойств данного процесса. »
Сделано (см. скрин 2). А вот после этого у меня появилась догадка по поводу того, что там происходит. В той же ветке реестра, куда я прописываю команду удаления прописан и запуск сканерной софтины Event Manager, которая и создаёт весь этот подлежащий удалению "мусор". И хотя софтина запускается раньше команды удаления, но срабатывает позже, поэтому я наблюдаю не те файлы, что были ранее, а такие же, но уже новые. Для подтверждения провёл эксперимент.
Попробовал перезагружать ПК, не удаляя файлы, а затем, предварительно удалив. В первом случае получил DOS-овское окно как в моём предпредпоследнем посте, а во втором вот такое (см. скрин 1), хотя после запуска ОС в обоих случаях все файлы, подлежащие удалению, оказывались на месте. Пришлось вручную создать файл Tvunk003.MTX, положить его рядом с остальными и прописать в список удаления в команде. Получилось так:
%comspec% /k "del C:\Temp\Twain.log C:\Temp\Twain001.Mtx C:\Temp\Twunk001.MTX C:\Temp\Twunk002.MTX C:\Temp\Tvunk003.MTX"
После перезагрузки ПК файла Tvunk003.MTX среди остальных не оказалось.
Вывод: команда удаления работает, но запустить её необходимо с некоторой задержкой, а вот как это сделать - пока не знаю.

Iska
07-01-2018, 07:14
А вот после этого у меня появилась догадка по поводу того, что там происходит. В той же ветке реестра, куда я прописываю команду удаления прописан и запуск сканерной софтины Event Manager, которая и создаёт весь этот подлежащий удалению "мусор". »
Мы просто до этого ещё не доехали, хотя я уже упоминал выше (и собирался предложить следующим шагом) про лог загрузки Process Monitor. Но теперь уже не надо, поскольку Ваш второй скриншот:

https://i.imgur.com/iWi2m58.png

явным образом говорит о том, что в момент исполнения команды не существует ни одного из перечисленных:C:\Temp\Twain.log
C:\Temp\Twain001.Mtx
C:\Temp\Twunk001.MTX
C:\Temp\Twunk002.MTX
файлов :), а вовсе не о:
Нет, файлы никуда не делись. »
То есть, файлов ещё нет, удалять нечего!

Вот это:
В той же ветке реестра … прописан и запуск сканерной софтины Event Manager, которая и создаёт весь этот подлежащий удалению "мусор". »
должно было быть изложено Вами в первом же Вашем сообщении, равно как и точные имена и пути к файлам. Понимаете?


Так или иначе, теперь возникают вопросы: а нужно ли эти файлы удалять, зачем эти файлы вообще удалять (что страшного случится, если их не удалять), зачем их нужно удалять именно в выбранный момент?

Nordek
07-01-2018, 09:49
Вывод: команда удаления работает, но запустить её необходимо с некоторой задержкой, а вот как это сделать - пока не знаю. »
Пример Windows XP:
%comspec% /c ping -n 20 127.0.0.1 & del C:\Temp\Twain.log C:\Temp\Twain001.Mtx C:\Temp\Twunk001.MTX C:\Temp\Twunk002.MTX

Пример Windows 7:
%comspec% /c timeout 10 & del C:\Temp\Twain.log C:\Temp\Twain001.Mtx C:\Temp\Twunk001.MTX C:\Temp\Twunk002.MTX

Nun-Nun
07-01-2018, 11:16
Iska,
должно было быть изложено Вами в первом же Вашем сообщении, равно как и точные имена и пути к файлам. Понимаете? »
Да, тут Вы правы, это мой прокол. Я полагал, что если сканерная софтина прописана в Run и, следовательно, запускается раньше, то и завершение её выполнения происходит до запуска команды удаления, но это оказалось не так.
Так или иначе, теперь возникают вопросы: а нужно ли эти файлы удалять, зачем эти файлы вообще удалять »
Это не единственные "мусорные" файлы, которые остаются в Temp после работы софта. Просто эти первыми подвернулись под руку.

Nordek,
Пример Windows XP: »
Сработало и даже с меньшей задержкой!

P.S. Всех благодарю за помощь и поддержку!!! :up Всех с Рождеством!!!

Iska
07-01-2018, 11:32
Я полагал, что если сканерная софтина прописана в Run и, следовательно, запускается раньше, то и завершение её выполнения происходит до запуска команды удаления, но это оказалось не так. »
Насколько я помню, лексикографический порядок исполнения соблюдается в RunOnce, точнее, там осуществляется ожидание завершения исполнения предыдущей команды до начала исполнения очередной. В Run такого ожидания нет, и исполнение происходит квазипараллельно.

mwz
07-01-2018, 12:50
точнее, там осуществляется ожидание завершения исполнения предыдущей команды »

Насколько помню, порядок соблюдается при работе ключа RunOnceEx, в котором блоки команд нумеруются, а внутри блоков нумеруется порядок исполнения команд этого блока.
Пример из моего старенького батника установки обновлений ХР, отдельные команды которого я недавно давал в другую тему, и в котором блок установки Adobe Reader 9.5.5, работающий после перезагрузки, идёт третьим в последовательности других блоков и содержит пять команд, исполняемых также последовательно:
xcopy .\AddOn\AdobeReader\*.* %SystemDrive%\AddOn\AdobeReader\ /e /h /y /I
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\03ADOBEREADER9 /ve /d "Adobe Reader 9.5.5 RUS"
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\03ADOBEREADER9 /v 001 /d "%SystemDrive%\AddOn\AdobeReader\AdbeRdr950_ru_RU.exe /sPB"
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\03ADOBEREADER9 /v 002 /d "%SystemDrive%\AddOn\AdobeReader\AdbeRdrUpd951_all_incr.msp /passive /norestart"
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\03ADOBEREADER9 /v 003 /d "%SystemDrive%\AddOn\AdobeReader\AdbeRdrUpd952_all_incr.msp /passive /norestart"
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\03ADOBEREADER9 /v 004 /d "%SystemDrive%\AddOn\AdobeReader\AdbeRdrUpd953_all_incr.msp /passive /norestart"
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\03ADOBEREADER9 /v 005 /d "%SystemDrive%\AddOn\AdobeReader\AdbeRdrUpd955_all_incr.msp /passive /norestart"

Nun-Nun
07-01-2018, 13:09
Насколько я помню, лексикографический порядок исполнения соблюдается в RunOnce, точнее, там осуществляется ожидание завершения исполнения предыдущей команды до начала исполнения очередной. »
Да, но срабатывает команда в RunOnce лишь однократно и для многоразового использования не годится. Или я снова что-то путаю?

Iska
07-01-2018, 13:12
Насколько помню, порядок соблюдается при работе ключа RunOnceEx, в котором блоки команд нумеруются, а внутри блоков нумеруется порядок исполнения команд этого блока. »
Стало быть, «Насколько я помню…» следует выше читать как «Насколько я не помню…» :).

Надо полагать, я о нём и пытался вспомнить, но неудачно.

Да, но срабатывает команда в RunOnce лишь однократно и для многоразового использования не годится. Или я снова что-то путаю? »
Не путаете — конечно, не годится. Я просто для иллюстрации приводил пример, и то, как выяснилось, с ошибкой в именовании.

Nordek
07-01-2018, 13:15
но срабатывает команда в RunOnce лишь однократно. или я снова что-то путаю? »
RunOnce: Это позволит выполнить запуск один раз, после запись из подраздела RunOnce удалится. » (http://forum.oszone.net/post-2774043-13.html)

Nun-Nun
07-01-2018, 13:20
Iska, Nordek,

Есть ещё один вопрос: как из Run запустить команду удаления, чтобы DOS-окно запускалось в свёрнутом виде, если конечно это в рассматриваемой ситуации вообще возможно?

Nordek
07-01-2018, 13:30
Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)? (http://forum.oszone.net/thread-42879.html)

Iska
07-01-2018, 13:37
чтобы DOS-окно запускалось в свёрнутом виде, »
Вот тут вновь возникает вопрос о столь нелюбимых Вами «посторонних файлах» :).

В реальности же проще и удобнее всего создать скрипт WSH, который будет и ждать, и удалять файлы, и не «светить» окном консоли.

Nun-Nun
07-01-2018, 13:49
Nordek, Iska,

Понятно, значит без "костыля" никак. Ну что ж, ограничимся тем, что есть. Спасибо за помощь!

Nordek
07-01-2018, 13:51
Nun-Nun, Есть такой велосипед:
%comspec% /c start /min ping -n 20 127.0.0.1 & del C:\Temp\Twain.log C:\Temp\Twain001.Mtx C:\Temp\Twunk001.MTX C:\Temp\Twunk002.MTX

Iska
07-01-2018, 13:54
Nordek, окно всё равно мелькать будет — запускается-то ведь в полном окне ;). Хотя, может, коллегу Nun-Nun просто раздражало «висящее» окно на паузе в двадцать секунд.

Nordek
07-01-2018, 14:35
окно всё равно мелькать будет »Я же написал "велосипед".

Nun-Nun
07-01-2018, 14:37
Nun-Nun, Есть такой велосипед:
%comspec% /c start /min ping -n 20 127.0.0.1 & del C:\Temp\Twain.log C:\Temp\Twain001.Mtx C:\Temp\Twunk001.MTX C:\Temp\Twunk002.MTX
Ну... окно в панель сворачивает великолепно, но файлы при этом не удаляются. :( Может кавычек где-то не хватает?
Хотя, может, коллегу Nun-Nun просто раздражало «висящее» окно на паузе в двадцать секунд. »
Не то, чтобы раздражало, но висело на экране и красотой особо не блистало. :sorry: :)

Nordek
07-01-2018, 15:08
но файлы при этом не удаляются. »Про одну вещь забыл.
Вот, нагородил:
%comspec% /c start /min %comspec% /c ping -n 10 127.0.0.1 ^& del C:\Temp\Twain.log C:\Temp\Twain001.Mtx C:\Temp\Twunk001.MTX C:\Temp\Twunk002.MTX

Nun-Nun
07-01-2018, 15:18
Про одну вещь забыл.
Вот, нагородил:
%comspec% /c start /min %comspec% /c ping -n 10 127.0.0.1 ^& del C:\Temp\Twain.log C:\Temp\Twain001.Mtx C:\Temp\Twunk001.MTX C:\Temp\Twunk002.MTX »
Неа, что-то этот велосипед ехать не хочет - то педали не крутятся, то руль отваливается. :) Теперь окно висит в панели в свёрнутом виде и вообще не закрывается; файлы при этом тоже не удаляются. :(

P.S. Создал ярлык в меню "Пуск\Программы\Автозагрузка" с этим велосипедом - сработало без проблем! Видимо при запуске из Run не работает какой-то спецсимвол в нашей команде.

Nordek
07-01-2018, 15:33
Nun-Nun, Только что проверил - работает. После пинга происходит удаление, затем закрывается.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"twainrun"=hex(2):25,00,63,00,6f,00,6d,00,73,00,70,00,65,00,63,00,25,00,20,00,\
2f,00,63,00,20,00,73,00,74,00,61,00,72,00,74,00,20,00,2f,00,6d,00,69,00,6e,\
00,20,00,25,00,63,00,6f,00,6d,00,73,00,70,00,65,00,63,00,25,00,20,00,2f,00,\
63,00,20,00,70,00,69,00,6e,00,67,00,20,00,2d,00,6e,00,20,00,31,00,30,00,20,\
00,31,00,32,00,37,00,2e,00,30,00,2e,00,30,00,2e,00,31,00,20,00,5e,00,26,00,\
20,00,64,00,65,00,6c,00,20,00,43,00,3a,00,5c,00,54,00,65,00,6d,00,70,00,5c,\
00,54,00,77,00,61,00,69,00,6e,00,2e,00,6c,00,6f,00,67,00,20,00,43,00,3a,00,\
5c,00,54,00,65,00,6d,00,70,00,5c,00,54,00,77,00,61,00,69,00,6e,00,30,00,30,\
00,31,00,2e,00,4d,00,74,00,78,00,20,00,43,00,3a,00,5c,00,54,00,65,00,6d,00,\
70,00,5c,00,54,00,77,00,75,00,6e,00,6b,00,30,00,30,00,31,00,2e,00,4d,00,54,\
00,58,00,20,00,43,00,3a,00,5c,00,54,00,65,00,6d,00,70,00,5c,00,54,00,77,00,\
75,00,6e,00,6b,00,30,00,30,00,32,00,2e,00,4d,00,54,00,58,00,00,00




© OSzone.net 2001-2012