Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Добавление в папку автозагрузка - CMD/BAT (http://forum.oszone.net/showthread.php?t=329627)

Валодя1111 07-09-2017 21:21 2763439

Добавление в папку автозагрузка - CMD/BAT
 
Приветствую подскажите как добавить файл в папку автозагрузка???
(ps у нас тут большая часть pc на win xp немножк (чуть меньше половины) win 7 и чутка win 10 (сама установилась)
Как мне прописать один файл в папку автозагрузка в этих системах
Пс реестр не предлагать мне запретили писать в реестр и вообще в него лезть
только папка автозагрузка поможет мне. (планировщик задач тоже не интересует)
Хотелось бы универсального ответа( команды) типа copy %0 %Desktop%\ loging.exe > nul
но в папку автозагрузка что бы работало и в win xp win 7 и в win 10
по больше интересует win xp и win 7 но windows 10 тоже интересна

sov44 07-09-2017 21:50 2763447

Валодя1111, копируйте в
Код:

%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\
Код:

copy /y "c:\file.txt" "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\"

Iska 08-09-2017 00:01 2763472

sov44, если мне не изменяет память, Валодя1111 обломится с таким кодом на локализованной Windows XP.

sov44 08-09-2017 06:56 2763484

Iska, не изменяет )))
Если сильно не заморачиваться с локалью, примерно так
Код:

ver |find "5." && (
copy /y "c:\file.txt" "%userprofile%\Главное меню\Программы\Автозагрузка\"
) || (
copy /y "c:\file.txt" "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\"
)


Anton04 08-09-2017 21:42 2763710

sov44,

Предложу использовать переменную %allusersprofile% вместо %userprofile% (в случае надобности).

alpap 09-09-2017 00:45 2763727

Цитата:

Цитата Anton04
вместо »

не совсем вместо
(если вместо %Appdata% и для всех, то да)
Код:

C:\Users\Имя пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
[%Usersprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup]
[%Appdata%\Microsoft\Windows\Start Menu\Programs\Startup]

C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

все
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
[%AllUsersprofile%\Microsoft\Windows\Start Menu\Programs\StartUp]
[%ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp]

C:\Users\Все пользователи\Microsoft\Windows\Start Menu\Programs\Startup
C:\Users\All Users\Microsoft\Windows\Start Menu\Programs\Startup


Валодя1111 10-09-2017 17:57 2763941

спасибо всем проблема решена

Survover 01-01-2018 19:51 2788403

Здравствуйте как мне создать команду для копирования .bat в автозагрузку ?
Файл .bat будет в папке $OEM$ дистрибутива windows 7 ! (на флешке)
За ранее спасибо !

Iska 01-01-2018 20:15 2788417

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

Survover 01-01-2018 20:16 2788418

start copy /y "%SYSTEMROOT%\Setup\audio_split2.bat" "%allusersprofile%\Microsoft\Windows\Start Menu\Programs\Startup\" так будет работать ?

у меня есть свои твики реестра которые при первом старте после записи вин7 вносятся в реестр и есть нужда что бы еще батник с настройками к программе virtual audio cable постоянно грузилися с виндовс так как в ней нету возможности их сохранить на постоянку !

Survover 01-01-2018 20:32 2788420

Iska, ?

Казбек 01-01-2018 21:16 2788427

Цитата:

Цитата Survover
есть нужда что бы еще батник с настройками к программе virtual audio cable постоянно грузилися с виндовс »

Запустите от администратора bat-файл следующего содержания или просто выполните в командной строке от администратора:
Код:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v YourBatFile /d "%AppData%\YourBatFile.bat"
"%AppData%\YourBatFile.bat" - замените на путь к своему bat-файлу, который должен быть в автозагрузке.

Добавляет в автозагрузку для всех пользователей.

Замените:
Код:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
На:
Код:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Для запуска под одним пользователем.

Survover 01-01-2018 21:21 2788430

Казбек, спасибо

Survover 01-01-2018 22:08 2788444

еще такой вопрос надо скопировать папку с файлами ! Делаю так: xcopy vrtaucbl.inf_amd64_neutral_48e684fc19a40859 C:\Windows\System32\DriverStore\FileRepository /O /X /E /H /K
но копирует только файлы и папки с заданной папки (

Survover 01-01-2018 22:28 2788448

Делаю так: xcopy vrtaucbl.inf_amd64_neutral_48e684fc19a40859 C:\Windows\System32\DriverStore\FileRepository\vrtaucbl.inf_amd64_neutral_48e684fc19a40859 /O /X /E /H /K тогда спрашивает это файл иле каталог и надо нажимать D

но тогда получается ! Как сделать чтобы все было автоматом ?

Iska 01-01-2018 22:31 2788451

Код:

echo d| xcopy.exe …

Survover 01-01-2018 22:33 2788453

Iska, большое спасибо !

mwz 01-01-2018 23:10 2788461

Survover, насколько понимаю, надо не .....\FileRepository, а \FileRepository\ — т.е. со слэшем в конце целевой папки.

Казбек 01-01-2018 23:49 2788467

Survover,

Цитата:

Цитата https://ss64.com/nt/xcopy.html
In most cases copying a single file is best done with the COPY command. When copying a single file with XCOPY, there is no option to indicate if the destination is a filename or a directory (with the filename defaulting to that of the source file).
In such cases XCOPY will prompt with a (locale specific) message like:
C:\> xcopy foo.txt bar.txt
Does foo.txt specify a file name
or directory name on the target
(F = file, D = directory)?

Adding a wildcard (*) to the end of the destination will suppress this prompt and default to copying as a file:
C:\> xcopy foo.txt bar.txt*
C:foo.txt
1 File(s) copied
This requires the source and target file extensions to be the same length, typically 3 characters.

Поэтому для вашей цели лучше использовать другую команду - COPY

Survover 01-01-2018 23:58 2788469

Казбек, mwz, спасибо все получилось)

Nun-Nun 04-01-2018 15:41 2788878

Подскажите, как на XP из автозагрузки запустить вот такую команду, желательно без батника:
Код:

del C:\Temp\File.log C:\Temp\File1.txt C:\Temp\File2.txt C:\Temp\File3.txt

mwz 04-01-2018 15:53 2788884

Nun-Nun

Положить в папку автозагрузки ярлык с командой
Код:

cmd /c del C:\Temp\File.log C:\Temp\File1.txt C:\Temp\File2.txt C:\Temp\File3.txt
Имея в виду, что окно удаления будет при загрузке проскакивать на экране.

Однако к теме вопрос отношения не имеет.

Iska 04-01-2018 15:55 2788886

Цитата:

Цитата Nun-Nun
как на XP из автозагрузки запустить вот такую команду, желательно без батника: »

Создаёте ярлык, в котором пишете:
Код:

"%comspec%" /c "del C:\Temp\File.log C:\Temp\File1.txt C:\Temp\File2.txt C:\Temp\File3.txt"
Update: припоздал :).

mwz 04-01-2018 17:19 2788903

Цитата:

Цитата Iska
Update: припоздал»

Цитата:

Рассказывали, что в углу кабинета стоит великолепно выполненное чучело одного старинного знакомого Кристобаля Хозевича, штандартенфюрера СС в полной парадной форме, с моноклем, кортиком, железным крестом, дубовыми листьями и прочими причиндалами. Хунта был великолепным таксидермистом. Штандартенфюрер, по словам Кристобаля Хозевича, — тоже. Но Кристобаль Хозевич успел раньше.
(c) АБС. :)

Nun-Nun 05-01-2018 04:34 2789023

Цитата:

Цитата Iska
Создаёте ярлык, в котором пишете:
"
Код:

%comspec%" /c "del C:\Temp\File.log C:\Temp\File1.txt C:\Temp\File2.txt C:\Temp\File3.txt"
»

Помогло! Вот спасибо!!!

P.S. Упс! Рано обрадовался: ярлык срабатывает только, если я запускаю его вручную, а автоматом при запуске XP ничего не происходит! :(

Iska 05-01-2018 05:39 2789031

Цитата:

Цитата Nun-Nun
P.S. Упс! Рано обрадовался: ярлык срабатывает только, если я запускаю его вручную, а автоматом при запуске XP ничего не происходит! »

Куда именно помещён ярлык? Что именно находится в команде (есть подозрение, что Ваше «del C:\Temp…» было только для примера)?

Nun-Nun 05-01-2018 19:32 2789152

Цитата:

Цитата Iska
Куда именно помещён ярлык? Что именно находится в команде (есть подозрение, что Ваше «del C:\Temp…» было только для примера)? »

Ярлык создан в меню "Автозагрузка", как и рекомендовали. Скриншот окна ярлыка прилагаю:

Iska 05-01-2018 20:24 2789165

Клещами, калёными клещами…

Цитата:

Цитата Nun-Nun
Ярлык создан в меню "Автозагрузка" »

В каком именно? Приведите полный путь.

Цитата:

Цитата Nun-Nun
Скриншот окна ярлыка прилагаю: »

Что именно находится в команде? На скриншоте видна только часть.

Nun-Nun 05-01-2018 20:48 2789170

Цитата:

Цитата Iska
В каком именно? Приведите полный путь. »

Код:

C:\Documents and Settings\1\Главное меню\Программы\Автозагрузка
Цитата:

Цитата Iska
Что именно находится в команде? На скриншоте видна только часть. »

Команда на ярлыке мало отличается от того, что приводилось в примере:
Код:

%comspec% /c "del C:\Temp\Twain.log C:\Temp\Twain001.Mtx C:\Temp\Twunk001.MTX C:\Temp\Twunk002.MTX"

mwz 06-01-2018 13:17 2789293

Iska, что-то не соображу, кавычки после /c действительно нужны?

Iska 06-01-2018 14:09 2789296

mwz, я предпочитаю ставить для явного ограничения передаваемой строки команд. В данном конкретном случае, как я понимаю, сие несущественно — с кавычками, або нет.

Nun-Nun, особо идей нет. Если коллеги чего-нибудь умного не подскажут — попробуйте сделать лог загрузки посредством Process Monitor'а и порыться в нём (можете для удобства временно заменить %comspec% /c на %comspec% /k, дабы был явно виден процесс).

Nun-Nun 06-01-2018 15:03 2789305

Iska,

А можно ли как-то из Run в реестре этот ярлык запустить?

Iska 06-01-2018 16:04 2789321

Nun-Nun, можно. Только не ярлык, а саму команду. Тип данных установить REG_EXPAND_SZ:
Скрытый текст
Или, только для текущего пользователя — HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.

Не проверялось.

Nun-Nun 06-01-2018 21:35 2789403

Iska,

Подобное я пробовал, правда добавлял простой строковый параметр с Вашей командой, это не срабатывало. Теперь изменил на REG_EXPAND_SZ, как Вы и рекомендовали. После перезагрузки ПК появилось изменение - на долю секунды мелькнуло DOS-овское окно и тут же закрылось, правда файлы так и остались не удалены. :( Что было в мелькнувшем окне рассмотреть не удалось - слишком быстро закрывается.

Iska 06-01-2018 21:58 2789409

Цитата:

Цитата Nun-Nun
правда добавлял простой строковый параметр с Вашей командой, это не срабатывало. »

Возможно, потому что переменная окружения %comspec% не раскрывалась.

Цитата:

Цитата Nun-Nun
на долю секунды мелькнуло DOS-овское окно и тут же закрылось, правда файлы так и остались не удалены. Что было в мелькнувшем окне рассмотреть не удалось - слишком быстро закрывается. »

Сделайте это:
Цитата:

Цитата Iska
можете для удобства временно заменить %comspec% /c на %comspec% /k, дабы был явно виден процесс »


Казбек 06-01-2018 22:16 2789416

Цитата:

Цитата Nun-Nun
желательно без батника »

vbscript:
Код:

Set obj = CreateObject("Scripting.FileSystemObject")
obj.DeleteFile("C:\Temp\Twain.log")
obj.DeleteFile("C:\Temp\Twain001.Mtx")
obj.DeleteFile("C:\Temp\Twunk001.MTX")
obj.DeleteFile("C:\Temp\Twunk002.MTX")

Какая цель запуска без bat-файла??

Nun-Nun 06-01-2018 22:19 2789417

Цитата:

Цитата Казбек
Какая цель запуска без bat-файла?? »

Батник я и сам могу слепить и запустить. Смысл, как раз, в том, чтобы в системе не болтались посторонние bat-файлы.

Iska,

Заменил /c на /k , вот, что вышло (см. скриншот).

Казбек 06-01-2018 22:21 2789419

Цитата:

Цитата Nun-Nun
Батник я и сам могу слепить и запустить. »

Прекрасная аргументация. На месте Iska я бы на этом свою помощь и закончил.

Nun-Nun 06-01-2018 22:28 2789421

Цитата:

Цитата Казбек
Прекрасная аргументация. »

Это в Вашем понимании. Но есть решения грубые - это костыли в виде батников, а есть изящные, выполненные средствами самой системы и без лишнего мусора.

Iska 06-01-2018 23:29 2789429

Цитата:

Цитата Nun-Nun
Заменил /c на /k , вот, что вышло (см. скриншот). »

Превосходно. Мы видим, что интерпретатор команд запускается. Файлы удалились или нет?

Теперь возьмите Process Explorer и покажите вкладку Image свойств данного процесса.

Цитата:

Цитата Nun-Nun
Но есть решения грубые - это костыли в виде батников, а есть изящные, выполненные средствами самой системы и без лишнего мусора. »

Я, скорее, соглашусь с коллегой Казбек. В моём понимании пакетный файл — это и есть «средствами самой системы».

Nun-Nun 07-01-2018 02:15 2789459

Вложений: 1
Цитата:

Цитата Iska
Превосходно. Мы видим, что интерпретатор команд запускается. Файлы удалились или нет? »

Нет, файлы никуда не делись. Во всяком случае, это выглядит именно так.
Цитата:

Цитата Iska
Теперь возьмите 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 2789469

Цитата:

Цитата Nun-Nun
А вот после этого у меня появилась догадка по поводу того, что там происходит. В той же ветке реестра, куда я прописываю команду удаления прописан и запуск сканерной софтины Event Manager, которая и создаёт весь этот подлежащий удалению "мусор". »

Мы просто до этого ещё не доехали, хотя я уже упоминал выше (и собирался предложить следующим шагом) про лог загрузки Process Monitor. Но теперь уже не надо, поскольку Ваш второй скриншот:



явным образом говорит о том, что в момент исполнения команды не существует ни одного из перечисленных:
Код:

C:\Temp\Twain.log
C:\Temp\Twain001.Mtx
C:\Temp\Twunk001.MTX
C:\Temp\Twunk002.MTX

файлов :), а вовсе не о:
Цитата:

Цитата Nun-Nun
Нет, файлы никуда не делись. »

То есть, файлов ещё нет, удалять нечего!

Вот это:
Цитата:

Цитата Nun-Nun
В той же ветке реестра … прописан и запуск сканерной софтины Event Manager, которая и создаёт весь этот подлежащий удалению "мусор". »

должно было быть изложено Вами в первом же Вашем сообщении, равно как и точные имена и пути к файлам. Понимаете?


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

Nordek 07-01-2018 09:49 2789479

Цитата:

Цитата Nun-Nun
Вывод: команда удаления работает, но запустить её необходимо с некоторой задержкой, а вот как это сделать - пока не знаю. »

Пример 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 2789491

Iska,
Цитата:

Цитата Iska
должно было быть изложено Вами в первом же Вашем сообщении, равно как и точные имена и пути к файлам. Понимаете? »

Да, тут Вы правы, это мой прокол. Я полагал, что если сканерная софтина прописана в Run и, следовательно, запускается раньше, то и завершение её выполнения происходит до запуска команды удаления, но это оказалось не так.
Цитата:

Цитата Iska
Так или иначе, теперь возникают вопросы: а нужно ли эти файлы удалять, зачем эти файлы вообще удалять »

Это не единственные "мусорные" файлы, которые остаются в Temp после работы софта. Просто эти первыми подвернулись под руку.

Nordek,
Цитата:

Цитата Nordek
Пример Windows XP: »

Сработало и даже с меньшей задержкой!

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

Iska 07-01-2018 11:32 2789493

Цитата:

Цитата Nun-Nun
Я полагал, что если сканерная софтина прописана в Run и, следовательно, запускается раньше, то и завершение её выполнения происходит до запуска команды удаления, но это оказалось не так. »

Насколько я помню, лексикографический порядок исполнения соблюдается в RunOnce, точнее, там осуществляется ожидание завершения исполнения предыдущей команды до начала исполнения очередной. В Run такого ожидания нет, и исполнение происходит квазипараллельно.

mwz 07-01-2018 12:50 2789501

Цитата:

Цитата Iska
точнее, там осуществляется ожидание завершения исполнения предыдущей команды »

Насколько помню, порядок соблюдается при работе ключа 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 2789506

Цитата:

Цитата Iska
Насколько я помню, лексикографический порядок исполнения соблюдается в RunOnce, точнее, там осуществляется ожидание завершения исполнения предыдущей команды до начала исполнения очередной. »

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

Iska 07-01-2018 13:12 2789508

Цитата:

Цитата mwz
Насколько помню, порядок соблюдается при работе ключа RunOnceEx, в котором блоки команд нумеруются, а внутри блоков нумеруется порядок исполнения команд этого блока. »

Стало быть, «Насколько я помню…» следует выше читать как «Насколько я не помню…» :).

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

Цитата:

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

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

Nordek 07-01-2018 13:15 2789511

Цитата:

Цитата Nun-Nun
но срабатывает команда в RunOnce лишь однократно. или я снова что-то путаю? »

Цитата:

Цитата Nordek
RunOnce: Это позволит выполнить запуск один раз, после запись из подраздела RunOnce удалится. »


Nun-Nun 07-01-2018 13:20 2789515

Iska, Nordek,

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

Nordek 07-01-2018 13:30 2789519

Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)?

Iska 07-01-2018 13:37 2789520

Цитата:

Цитата Nun-Nun
чтобы DOS-окно запускалось в свёрнутом виде, »

Вот тут вновь возникает вопрос о столь нелюбимых Вами «посторонних файлах» :).

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

Nun-Nun 07-01-2018 13:49 2789523

Nordek, Iska,

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

Nordek 07-01-2018 13:51 2789524

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 2789525

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

Nordek 07-01-2018 14:35 2789531

Цитата:

Цитата Iska
окно всё равно мелькать будет »

Я же написал "велосипед".

Nun-Nun 07-01-2018 14:37 2789532

Цитата:

Цитата Nordek
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
Хотя, может, коллегу Nun-Nun просто раздражало «висящее» окно на паузе в двадцать секунд. »

Не то, чтобы раздражало, но висело на экране и красотой особо не блистало. :sorry: :)

Nordek 07-01-2018 15:08 2789539

Цитата:

Цитата Nun-Nun
но файлы при этом не удаляются. »

Про одну вещь забыл.
Вот, нагородил:
Код:

%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 2789542

Цитата:

Цитата Nordek
Про одну вещь забыл.
Вот, нагородил:
Код:

%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 2789546

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


Iska 07-01-2018 15:50 2789552

[Iska распевает на мотив «5 минут»]: «Вэ-Сэ-Ааааш, Вэ-Сэ-а-Аш…» ;).

На WSH:
Скрытый текст
Код:

Option Explicit

Dim arrFiles
Dim strFile


arrFiles = Array( _
        "C:\Temp\Twain.log", _
        "C:\Temp\Twain001.Mtx", _
        "C:\Temp\Twunk001.MTX", _
        "C:\Temp\Twunk002.MTX" _
)

WScript.Sleep 20 * 1000

With WScript.CreateObject("Scripting.FileSystemObject")
        For Each strFile In arrFiles
                If .FileExists(strFile) Then
                        .DeleteFile strFile, True
                End If
        Next
End With

WScript.Quit 0


А можно сделать и так, чтобы он не тупо стоял заданное время, а ожидал запуска процесса Event Manager. Или ожидал появления указанных файлов.

Nun-Nun 07-01-2018 15:54 2789553

Nordek,

УРА!!! Наконец-то наш велосипед поехал! Всё работает, причём все три варианта:
1. Из ярлыка в "Пуск\Программы\Автозагрузка".
2. Из HKLM\Software\Microsoft\Windows\CurrentVersion\Run
3. Из HKCU\Software\Microsoft\Windows\CurrentVersion\Run

Код:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TwainTempDel"=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,35,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

Цитата:

Цитата Iska
На WSH: »

Прошу прощения за чайниковость, WSH - это внешний файл, так же как и bat-ник?
Цитата:

Цитата Iska
А можно сделать и так, чтобы он не тупо стоял заданное время, а ожидал запуска процесса Event Manager. Или ожидал появления указанных файлов. »

В принципе такой вариант тоже будет интересен (теперь уже из "спортивного" интереса).

Iska 07-01-2018 16:05 2789561

Цитата:

Цитата Nun-Nun
WSH - это внешний файл, так же как и bat-ник? »

Так точно!

Цитата:

Цитата Nun-Nun
В принципе такой вариант тоже будет интересен (теперь уже из "спортивного" интереса). »

Точное имя процесса Event Manager приведите.

Nordek 07-01-2018 16:18 2789566

Цитата:

Цитата Nun-Nun
велосипед поехал »

Когда-то этот велосипед мне нужен был в одной программе, выглядело это примерно так:
Код:

start cmd /c mode con:cols=60 lines=20 ^& Title Twain ^& ping -n 10 127.0.0.1 ^& cd C:\Temp ^& del Twain.log Twain001.Mtx Twunk001.MTX Twunk002.MTX

Nun-Nun 07-01-2018 16:19 2789567

Вложений: 1
Цитата:

Цитата Iska
Точное имя процесса Event Manager приведите. »

EEventManager.exe
Прилагаю скрин, на всякий случай.

Nun-Nun 07-01-2018 16:23 2789568

Цитата:

Цитата Nordek
Когда-то этот велосипед мне нужен был в одной программе, выглядело это примерно так:
Код:

start cmd /c mode con:cols=60 lines=20 ^& Title Twain ^& ping -n 10 127.0.0.1 ^& cd C:\Temp ^& del Twain.log Twain001.Mtx Twunk001.MTX Twunk002.MTX
»

Да это уже не велосипед, а целый квадромаран. :o

Iska 07-01-2018 17:25 2789575

Цитата:

Цитата Nun-Nun
Цитата:

Цитата Nordek
Когда-то этот велосипед мне нужен был в одной программе, выглядело это примерно так: »

Да это уже не велосипед, а целый квадромаран. »

К кому-то прилетала феечка ;).

Nun-Nun, в интернетах упоминается ещё пятый файл, Twunk003.mtx. У Вас он создаётся рядом с прочими?

Nun-Nun 07-01-2018 17:44 2789580

Цитата:

Цитата Iska
Nun-Nun, в интернетах упоминается ещё пятый файл, Twunk003.mtx. У Вас он создаётся рядом с прочими?»

Нет.
Цитата:

Цитата Iska
К кому-то прилетала феечка »

Винапсара. :)

Iska 07-01-2018 18:20 2789585

Не, не. Наша феечка та же, что и для танкистов, натягивающих слетевшую гусеницу :).

Iska 07-01-2018 23:17 2789637

Nun-Nun, с ожиданием процесса:
Скрытый текст
Код:

Option Explicit

Dim strProcessName

Dim arrFiles
Dim strFile


strProcessName = "EEventManager.exe"

arrFiles = Array( _
        "C:\Temp\Twain.log", _
        "C:\Temp\Twain001.Mtx", _
        "C:\Temp\Twunk001.MTX", _
        "C:\Temp\Twunk002.MTX" _
)

With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
        If .ExecQuery("SELECT * FROM Win32_Process WHERE Name = '" & strProcessName & "'").Count = 0 Then
                .ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name = '" & strProcessName & "'").NextEvent
               
                WScript.Sleep 2 * 1000
        End If
End With

With WScript.CreateObject("Scripting.FileSystemObject")
        For Each strFile In arrFiles
                If .FileExists(strFile) Then
                        .DeleteFile strFile, True
                End If
        Next
End With

WScript.Quit 0


Nun-Nun 07-01-2018 23:36 2789643

Iska,

В какой кодировке это должно быть сохранено?

Iska 08-01-2018 08:32 2789667

Nun-Nun, ANSI/1251.

Nun-Nun 08-01-2018 12:55 2789708

Iska,

Благодарю! Сохранил файл как vbs (или нужно было как vsh ?), проверил - всё работает.

Iska 08-01-2018 14:33 2789724

Цитата:

Цитата Nun-Nun
Сохранил файл как vbs »

Да!

Nun-Nun, вот Вам ещё один обещанный выше вариант, со слежением за файлами:
Скрытый текст
Код:

Option Explicit

Dim objFSO

Dim arrFiles
Dim strFile


arrFiles = Array( _
        "C:\Temp\Twain.log", _
        "C:\Temp\Twain001.Mtx", _
        "C:\Temp\Twunk001.MTX", _
        "C:\Temp\Twunk002.MTX" _
)

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
        For Each strFile In arrFiles
                If Not objFSO.FileExists(strFile) Then
                        With .ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'CIM_DataFile' AND TargetInstance.Name = '" & Replace(strFile, "\", "\\") & "'").NextEvent
                                WScript.Sleep 2 * 1000
                                .TargetInstance.Delete
                        End With
                Else
                        objFSO.DeleteFile strFile, True
                End If
        Next
End With

Set objFSO = Nothing

WScript.Quit 0


Кроме того, можно комбинировать идеи — например, сначала проверять существование/ждать появления процесса, затем начинать проверять существование/ждать появления файлов.

Nun-Nun 08-01-2018 17:17 2789774

Цитата:

Цитата Iska
вот Вам ещё один обещанный выше вариант, со слежением за файлами: »

Проверил - работает. Благодарю!

Nun-Nun 10-01-2018 08:20 2790193

В реестре под Win 10 не запускается вот такое:
Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TC"="C:\\Total Commander\\Totalcmd.exe"

Кто-нибудь может подсказать в чём причина? На XP это работает.

Petya V4sechkin 10-01-2018 09:07 2790197

Nun-Nun, если Total 32-битный, а система 64-битная, попробуйте сюда:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

Nun-Nun 10-01-2018 12:18 2790270

Цитата:

Цитата Petya V4sechkin
если Total 32-битный, а система 64-битная, попробуйте сюда:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run »

Благодарю! Так действительно работает! :)


Время: 06:11.

Время: 06:11.
© OSzone.net 2001-