Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Bat Получить строку, перейти и запустить

Ответить
Настройки темы
CMD/BAT - Bat Получить строку, перейти и запустить

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Привет, будьте добры подскажите как можно сделать такое:
Есть список (list.txt) такого типа,

C:\Users\oleg\Desktop\папка\июль\1\test.exe
C:\Users\oleg\Desktop\папка\июль\22\test.exe

Как можно получить первую строку, перейти по этому пути, удалить эту строку, и запустить exe файл.
Файл test.exe всегда с одним названием.

Отправлено: 06:42, 29-06-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


nikis, зачем надо «переходить»?

«Удалить строку» точно не выйдет, нет такой возможности у пакетных файлов (только обходными путями). А оно надо — удалять?

Отправлено: 07:56, 29-06-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
nikis, зачем надо «переходить»? »
А как по другому запускать можно?

Желательно удалять, для того чтобы второй раз не запустился exe с этой папки.

Отправлено: 10:35, 29-06-2019 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата nikis:
А как по другому запускать можно? »
Как обычно — по полному пути.

Цитата nikis:
Желательно удалять, для того чтобы второй раз не запустился exe с этой папки. »
А зачем ему запускаться второй раз?

Вам нужно было изложить проблему, а не выбранный метод решения.

А так — держите:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sListFile=list.txt

if exist "%sListFile%" (
	for /f "usebackq delims=" %%i in ("%sListFile%") do (
		if exist "%%~i" (
			start "" /wait "%%~i"
		) else (
			echo File [%%~i] not found.
		)
	)
) else (
	echo Can't find list file [%sListFile%].
	exit /b 1
)

endlocal
exit /b 0

Отправлено: 14:07, 29-06-2019 | #4


Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Цитата nikis:
можно получить первую строку, перейти по этому пути, удалить эту строку, и запустить exe файл. »
Буквально следую Вашим пожеланиям
Код: Выделить весь код
@Echo Off
	Set "List=Z:\Box_In\list.txt"
	
	:Begin
		FOR %%f IN ("%List%") DO If %%~zf==0 Exit /B
		FOR /F "usebackq delims=" %%i IN ("%List%") DO (
			Set "Exe=%%i"
			Pushd "%%~dpi"
			>"%List%.tmp" More +1 "%List%"
			>nul Move /Y "%List%.tmp" "%List%"
			GoTo :Cont
		)
		:Cont
		%Exe%
		Popd
		pause
rem	GoTo :Begin
Exit /B
Если надо чтобы батник запускал программы сам пока есть строки в list.txt, уберите rem
Если в путях файлов возможны пробелы и нет ключей, необходимо вместо %Exe% написать "%Exe%", либо в файле list.txt путь указывать в кавычках.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 29-06-2019 в 20:07.


Отправлено: 19:55, 29-06-2019 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Bat Получить строку, перейти и запустить

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] В зависимости от имени пользователя перейти в нужную строку Valek271183 Скриптовые языки администрирования Windows 5 03-09-2017 08:54
Как запустить командную строку до запуска вин7? Gudsaf222 Ноутбуки 5 01-02-2012 14:06
Интерфейс - Как запустить строку команд от администратора? jakv Microsoft Windows 7 7 25-03-2011 01:07
Java - Подскажите: как получить азы и перейти к NetBeans 6.0 M1sha Программирование и базы данных 5 16-03-2008 01:51
как получить командную строку ssh? _noname Программное обеспечение Linux и FreeBSD 4 26-02-2007 15:21




 
Переход