Процес пакетного файлу залишає відкритий додатковий командний рядок


2

У мене є пакетний файл і він створює пакетний файл в папці автозавантаження, яка відкриває певну URL-адресу веб-сайту. Моя проблема полягає в тому, що всякий раз, коли він запускається, він також відкриває порожній командний рядок.

Пакетний скрипт працює нормально, і він відкриває веб-сайт з веб-браузером, але він просто залишає додаткове відкрите вікно CMD, яке я б не хотів. Примітка: я не запитую, як запустити вікно CMD у фоновому режимі.

Ось код:

@echo off

cd C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

echo @echo off > startup.bat

echo start (link) >> startup.bat

start startup.bat

Чи може хто-небудь допомогти вказати, що я можу змінити, щоб вирішити цю проблему?



FYI. . . Як повністю запустити командний файл без запуску командного вікна і виходу з командного вікна після його запуску виконуються зовсім інші завдання. Жодна з цих відповідей у ​​цій можливій ланці з вашого списку коментарів нічого про EXIT або інший синтаксис, який я використав у відповіді нижче, з цим методом.
— Pimp Juice IT

Tbh коли ви відредагували моє питання ви повністю міняли що це запитувало. Це залишає вікно відкрите з причини я не знаю. 2 оригінальні вікна, які вона пробігла поруч. Однак ваше рішення допомогло. Не дублікат запитував, чому відкривалося додаткове вікно.
— INTENSEFIRE

Відповіді:


2

Ви можете використовувати CALL і додати /MINперемикач з командою START, щоб він був більш прихований, і переконайтеся, що вікно CMD зникає під час виконання заданого вами прикладу логіки .

Я зробив деякі швидкі корективи і додав цю логіку для того, щоб ви мали точний приклад того, що я використовував і підтверджував роботу, як ви пояснюєте, що вам потрібно для роботи.

Приклад сценарію

@echo off

CD /D C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

echo @echo off > startup.bat
echo START /MIN "" "https://google.com">> startup.bat
echo EXIT /B>> startup.bat

CALL startup.bat
EXIT /B

Подальші ресурси


PIMP_JUICE_IT, позначайте питання як дублікати, коли вони існують. Відповідаючи на подвійні питання, спонукає користувачів спочатку шукати відповіді і допомагати заповнити сайт шумом. Див. Meta Stack Exchange для отримання додаткової інформації.
— Канадський Люк

Я прочитав, але тільки одну відповідь, і, здається, домовилися про дублікати, прапор 'em
— Canadian Luke

1

Перегляньте посилання нижче:

Як запустити пакетний файл без запуску "командного вікна"?

Якщо посилання недоступне, одна відповідь повідомляє про створення сценарію vbs, який містить наступне:

CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True

Де "your_batch_file.bat" - це назва вашого пакетного файлу.

Збережіть це як візуальний базовий сценарій, наприклад: example.vbs і запустіть його.


1
Привіт Kruschk, якщо ви знайдете посилання на сайті, який відповідає на запитання, слід поставити прапорця як дублікат замість розміщення посилання та контенту як цілком окремої відповіді.
— Канадський Люк

Привіт, Луки, як я можу відмітити, як дублювати? Я бачу лише параметри, які стосуються спаму або низької якості. Я просто хотів допомогти хлопцю, тому що я не можу коментувати посади, які ще не є моїми!
— kruschk

Натиснувши "Позначити" під запитанням, виберіть параметр "Дублювати". Оскільки я вже вставив посилання в, можна натиснути на запитання зі списку та натиснути Прапорець.
— Канадський Люк

У мене є лише опції для позначення як "спам", "грубий або образливий", "дуже низька якість", або "потребує втручання модератора"! Навіть після того, як Googling навколо, я не можу знайти його ...
— kruschk

Добре не піклуйтеся про це тоді
— канадський Luke
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.