Não sei ao certo o que você quer (ou qual é o problema), mas parece que você precisa usar a opção /w
do comando start
:
for /f "delims=|" %%i in (file1.txt) do @start /w "x" %%i
Preciso de ajuda com essa declaração no momento em que, quando executada em um arquivo em lote, ela inicia todas as linhas de um arquivo de texto, por exemplo,
arquivo1.txt:
notepad
wordpad
então será lançado:
start notepad
start wordpad
Embora eu queira ser capaz de especificar qual linha será executada, em vez de executá-los todos (o que está fazendo no momento)
para /f "delims=|" %%i in (file1.txt) do @start "x" %%i
Não sei ao certo o que você quer (ou qual é o problema), mas parece que você precisa usar a opção /w
do comando start
:
for /f "delims=|" %%i in (file1.txt) do @start /w "x" %%i
Aqui está um arquivo em lotes que permite escolher entre as duas opções:
echo off
title Notepad or Wordpad
setlocal
set OK=N
:again
set /p choice=Please enter: 1 [Notepad], 2 [Wordpad]
if [%choice%]==[] goto again
if [%choice%]==[1] goto 1
if [%choice%]==[1] goto 2
set /p xxx=wrong entry, press any key to return.
endlocal
goto end
1: start notepad
2: start wordpad
:end
@echo on
cls
Copie o arquivo .txt para new_batch_file.bat e use o seguinte comando para chamá-lo:
Que tal isso?
dir.menu
# Comments and empty lines are ignored
# Lines starting with a hyphen '-' indicate a group
- Editors
1 Notepad.exe
2 WordPad.exe
# You can use numbers or letters, and even words (without spaces)
- Graphics
P mspaint.exe
menu.bat
@setlocal
@echo off
if not exist ".\dir.menu" echo There is no "dir.menu" file in the current directory. & goto :end
set arg=%~1
if not defined arg goto :show_menu
for /f "tokens=1,* delims= " %%i in (dir.menu) do (
if not "%%i"=="#" if /i "%arg%"=="%%i" (
start "x" "%%j"
)
)
:end
endlocal
exit /B
:show_menu
echo Menu:
echo ===================
for /f "tokens=1,* delims= " %%i in (dir.menu) do (
if not "%%i"=="#" (
if "%%i"=="-" (
echo %%j
) else (
echo %%i] %%j
)
)
)
goto :end
Este é um sistema de menu simples, mas agradável. Você pode usar números ou letras (ou uma palavra, sem espaços) como a chave. Eu mantive isso muito simples para que você possa ver como interagir com ele. (Por exemplo, você poderia criar um conjunto de diretórios como um sistema de menus completo, onde os itens de menu estão todos dentro dos arquivos 'dir.menu').
Uso da amostra:
>menu
Menu:
===================
Editors
1] Notepad.exe
2] WordPad.exe
Graphics
P] mspaint.exe
>menu p
[mspaint is launched]
>
ATUALIZADO : testei e corrijo algumas coisas do meu computador, em vez do meu telefone.