Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - найти файл и записать в переменную

Пользователь


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

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


Подскажите, пожалуйста" как сделать поиск файла на диске с которого запущен "БАТник", а затем записать путь к нему и его имя с расширением в качестве переменной, чтобы была возможность дальше использовать в коде?

Отправлено: 00:42, 19-01-2013

 

Ветеран


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

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


Например, так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /r "%~d0\" %%i in (SomeFile.Ext) do (if exist "%%~fi" set sPath=%%~fi& goto :Break)

:Break
if defined sPath echo [%sPath%]

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:55, 19-01-2013 | #2



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

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


Пользователь


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

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


Спасибо!
а можно ещё чтобы этот путь передавало в другой бантик, вызываемый из этого?

Отправлено: 18:52, 19-01-2013 | #3


Аватара для zion87

Старожил


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

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


Цитата pzh2393:
вызываемый из этого? »
вас интересует команда call "Вызов одного пакетного файла из другого"
Код: Выделить весь код
call :next %sPath%
или же start "Запуск указанной программы или команды в отдельном окне"
Код: Выделить весь код
start "" другой.bat %sPath%
получаем параметр в другой.bat
Код: Выделить весь код
@echo off
echo %1
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:15, 19-01-2013 | #4


Ветеран


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

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


Цитата pzh2393:
а можно ещё чтобы этот путь передавало в другой бантик, вызываемый из этого? »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /r "%~d0\" %%i in (SomeFile.Ext) do (if exist "%%~fi" set sPath=%%~fi& goto :Break)

:Break
if defined sPath call "SomeBatch.cmd" "%sPath%"

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:24, 19-01-2013 | #5


Пользователь


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

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


Спасибо всем!
хотелось чтобы если переменная "%sPath%" определена её можно было использовать в другом батнике...

Последний раз редактировалось pzh2393, 20-01-2013 в 03:35.


Отправлено: 00:06, 20-01-2013 | #6


Пользователь


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

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


а "финт" с передачей пройдет если оба батника были скомпилированы в exe?

Отправлено: 02:00, 20-01-2013 | #7


Ветеран


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

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


pzh2393, проверьте. Я подобное не пользовал, и не планирую.

Отправлено: 03:35, 20-01-2013 | #8



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как записать в переменную результат выполнения команды? MSI Скриптовые языки администрирования Windows 64 24-12-2020 18:20
CMD/BAT - [решено] Найти в реестре параметр и записать в переменную имя ветки в которой он находится root221 Скриптовые языки администрирования Windows 11 25-11-2012 07:54
CMD/BAT - [решено] Записать имя папки в которой лежит батник в переменную а потом эту же папку переим. bobr95 Скриптовые языки администрирования Windows 8 10-04-2012 18:42
[решено] Как найти файл и записать ПОЛНЫЙ путь к нему vivera864864 AutoIt 3 13-06-2011 19:04
CMD/BAT - [решено] Как определить IP и записать его в переменную? (OS: Windows Vista) Voshal Скриптовые языки администрирования Windows 7 17-05-2010 11:43




 
Переход