Выполнять ярлыки из командного файла и не дожидаться завершения работы приложения

У меня есть несколько приложений, которые мне нужно открывать одновременно, и я не полагаюсь исключительно на автозагрузку папку, чтобы запускать их одновременно (и поэтому я могу снова открыть их все, если некоторые из них были закрыты в какой-то момент в течение дня), я создал папку, полную ярлыков, аналогично ссылкам запуска уровня запуска Linux. Итак, в папке я есть ссылки, похожие на:

  • S00 - Outlook.lnk
  • S01 - Notepad ++. lnk
  • S02 - Chrome.lnk
  • S03 - Skype. lnk

Я создал командный файл, который будет перебирать все ссылки, соответствующие формату именования, и запускать их. В настоящее время содержимое этого командного файла следующее:

@FOR /F "usebackq delims==" %%f IN (`dir /b "S* - *.lnk"`) DO "%%f"

Он запускает большинство ссылок, которые я пытаюсь использовать, но некоторые запускаются и ждут завершения процесса, предотвращая открытие дальнейших сценариев. Есть ли способ выполнить ярлыки, не дожидаясь завершения процессов в пакетном файле? Или это безнадежное дело, и я должен вместо этого искать решение Powershell?

Я так пробовал far:

  • Изменение содержимого на

     @FOR / F "usebackq delims ==" %% f IN (`dir / b" S * - * .lnk "`) DO START / B / I "%% f " 

    @FOR /F "usebackq delims==" %%f IN (`dir /b "S* - *.lnk"`) DO "%%f"
    

    Он запускает большинство ссылок, которые я пытаюсь использовать, но некоторые запускаются и ждут завершения процесса, таким образом предотвращая открытие дальнейших скриптов. Есть ли способ выполнить ярлыки, не дожидаясь завершения процессов в пакетном файле? Или это безнадежное дело, и я должен вместо этого искать решение Powershell?

    То, что я пробовал так far:

    • Изменение содержимого на

       @FOR / F "usebackq delims ==" %% f IN (`dir / b" S * - * .lnk "`) DO START / B / I "%% f " 

      @FOR /F "usebackq delims==" %%f IN (`dir /b "S* - *.lnk"`) DO "%%f"
      

      Он запускает большинство ссылок, которые я пытаюсь использовать, но некоторые запускаются и ждут завершения процесса, таким образом предотвращая открытие дальнейших скриптов. Есть ли способ выполнить ярлыки, не дожидаясь завершения процессов в пакетном файле? Или это безнадежное дело, и я должен вместо этого искать решение Powershell?

      Я так пробовал far:

      • Изменение содержимого на

         @FOR / F "usebackq delims ==" %% f IN (`dir / b" S * - * .lnk "`) DO START / B / I "%% f "
        

        Он запускает командную строку в фоновом режиме, но никогда не запускает цель ссылки.

      • Изменение содержимого на

         @FOR / F "usebackq delims ==" %% f IN (`dir / b "S * - * .lnk" `) DO% comspec% / k" %% f "
        

        Запускает первую ссылку, но ждет.

6
задан Agent_9191 26 May 2011 в 13:36
поделиться