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

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

Ответить
Настройки темы
CMD/BAT - [решено] Проверка по переменной

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


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

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


Как выполнить проверку ,существует ли папка по переменной в которую указали путь?

Тобишь
Цитата:
set /p dir= Путь:
и как теперь проверить существует ли этот путь?

Отправлено: 23:34, 29-04-2009

 

Аватара для Maza Faka

Ветеран


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

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


Цитата ware:
как теперь проверить существует ли этот путь? »
Код: Выделить весь код
@Echo Off

Set Folder=C:\Test\

If Exist %Folder% Echo Folder is exist

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение

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

Отправлено: 07:52, 30-04-2009 | #2



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

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


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


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

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


Ага ,это я понял,а как далее работать,если путь не найден,то что бы кидал заного?

я сделал так,и не получилось

@Echo Off

:main

Set Folder=C:\Test\

If Exist %Folder% goto next

else goto main


и не вышло =(

Отправлено: 23:18, 03-05-2009 | #3


Старожил


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

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


Что-то типа того

Код: Выделить весь код
@echo off

:main
echo dir ?
set /p dir=

If Exist %dir% goto next
goto main
	
:next
echo next
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:31, 03-05-2009 | #4


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


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

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


Нееее,мне нужно ,что бы он проверил есть ли этот путь,если есть то переход по метке,если нету,то ввод путь заного!

а Хотя....попробую

О!Спасибо,получилось,ловите +

Отправлено: 23:35, 03-05-2009 | #5


Аватара для Devils0411

Ветеран


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

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


Похожая ситуация. Необходимо чтоб батник проверял наличие файла в одной из 2 папок.
Попытался с конструировать файл.
Код: Выделить весь код
set disk=D:\Install
If exist %disk%\test\Hello.cmd goto 1
goto 2
:1
start %disk%\test\Hello.cmd
:2
start %disk%\test(x86)\Hello.cmd
pause
Батник за цикливается. Подскажите где ошибка?

-------
Скрипт автоустановки WINDOWSXP; Скрипт мультиустановки ОС


Отправлено: 01:34, 28-06-2009 | #6


Ветеран


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

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


Devils0411, после запуска «disk%\test\Hello.cmd» всегда будет происходить и запуск «%disk%\test(x86)\Hello.cmd», причём сразу же, поскольку у «start» не указан параметр «/wait». Проще так:
Код: Выделить весь код
set disk=D:\Install
If exist "%disk%\test\Hello.cmd" (
    start "%disk%\test\Hello.cmd"
) else (
    start "%disk%\test(x86)\Hello.cmd"
)
pause
или «start /wait …» (или вообще не «start», а «call») — если нужно ожидание.

А зацикливание… надо знать полный путь и имя файла приведённого кода, а также содержимое пакетных файлов «%disk%\test\Hello.cmd» и «%disk%\test(x86)\Hello.cmd», чтобы сказать что-то определённое.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:08, 28-06-2009 | #7


Аватара для boss911

Alien


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

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


Код: Выделить весь код
SET MyVar1=
SET MyVar2=
SET MyVar3=

IF DEFINED MyVar1 (CALL:next) ELSE (CALL:exit)
Мне нужно проверить СРАЗУ три переменных и если одна/две/три отсутствуют, выполнить метку :exit , если ВСЕ ТРИ присутствуют, то соответственно выполнить метку :next .

Была надежда, что может быть можно перечислить наличия нескольких переменных через запятую/пробел (и с кавычками пробовал), но так, как я понял, нельзя. Написать три строки нельзя, так как метки :exit и :next должны выполнятся только один раз раз. Надеюсь, объяснил понятно, помогите, плиз.

Отправлено: 13:41, 22-11-2011 | #8



Moderator


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

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


Цитата boss911:
проверить СРАЗУ три переменных и если одна/две/три отсутствуют, выполнить метку :exit , если ВСЕ ТРИ присутствуют, то соответственно выполнить метку :next
Код: Выделить весь код
Set AllVars=
If Defined MyVar1 If Defined MyVar2 If Defined MyVar3 Set AllVars=1
If Defined AllVars (Call :next) Else (Call :exit)
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:14, 22-11-2011 | #9


Ветеран


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

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


Необходимо ввести системную переменную (%windir%, %date% и т.п.) и получить её значение. Как вывести сообщение, если переменная введена не правильно (%windirR%).
Код: Выделить весь код
@Echo off
echo.
set /p a=Ведите имя переменой: 
echo %a% >nul
If %Errorlevel%==0 (call echo Переменная определена, ее значение %a%) else (echo Переменная не определена)
pause>nul
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:18, 14-06-2012 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. NiOl Скриптовые языки администрирования Windows 7 31-01-2019 19:58
[решено] Объявление переменной DenNC AutoIt 3 28-06-2009 13:58
[решено] Отсечение части переменной morgan1991 AutoIt 3 06-04-2009 03:00
[решено] Считывание параметров переменной morgan1991 AutoIt 3 07-03-2009 14:38
[решено] Проблема с переменной Temp Alex007 Автоматическая установка Windows 2000/XP/2003 7 31-08-2006 08:19




 
Переход