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

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

Ответить
Настройки темы
CMD/BAT - Необходимо переключать значение маркера в цыкле

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


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


Конфигурация

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


Мне нужно, что бы я при запросе вводил расширения файла, после чего производил с файлами этих форматов некоторые манипуляции.
Решил попробовать разбить задачу на некоторые подзадачи. В очередной из них столкнулся с проблемой:

Код: Выделить весь код
 
@echo off
setlocal
for /L %%k in (1,1,3) do set rMark%%k=yes
for /L %%r in (1,1,3) do echo Введи расширение & set /p rash%%r= 
for /L %%f in (1,1,3) do if -rash%%f EQU - (set rMark%%f=no)
echo %rMark1%
echo %rMark2%
echo %rMark3%
endlocal
Задаю маркерам rMark начальное значение yes, потом ввожу расширения. Если расширение не введено, нужно использовать лишь введенные, по этому при пустых строках хочу задать значение маркера rMark no, но оно не меняется... Помогите пожалуйста, BAT учу только неделю, еще совсем новичок
По идее проблема в выделенной строке, но что не правильно не знаю

Отправлено: 23:57, 03-11-2012

 

Ветеран


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

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


Seroga777, непонятно, что Вы хотите получить.

Что есть маркеры? Зачем начальное значение? «Если не введено… использовать лишь введённые» — совершенно непонятно.

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

set /p sExtensions=Enter extensions:

if defined sExtensions (
	for %%i in (%sExtensions%) do echo %%i
)

endlocal
exit /b 0
Цитата:
Код: Выделить весь код
E:\Песочница\0197>0003.cmd
Enter extensions:txt xls doc fmm
txt
xls
doc
fmm

Отправлено: 00:38, 04-11-2012 | #2



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

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


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


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

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


Если при запросе ввести расширение, расширение не введено, то есть введена пустая строка, то с значением такой переменной работать нельзя, и маркер помечает ее как нерабочую. Так вот, не выходит поставить значение маркера "no"

Отправлено: 00:59, 04-11-2012 | #3


Ветеран


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

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


Цитата Seroga777:
Если при запросе … расширение не введено, то есть введена пустая строка, »
Цитата Iska:
if defined sExtensions (…) »

Отправлено: 02:03, 04-11-2012 | #4


Аватара для gora

Ушёл из жизни


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

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


Цитата Seroga777:
не выходит поставить значение маркера "no" »
Неправильное условие в третьем цикле:
Код: Выделить весь код
if -rash%%f EQU - (set rMark%%f=no)
Оно ни когда не будет выполнено, т.к., rash%%f имя переменной, но не ее значение.
Вариант 1:
Код: Выделить весь код
for /L %%f in (1,1,3) do if not defined rash%%f set rMark%%f=no
Вариант 2:
Код: Выделить весь код
setlocal enabledelayedexpansion
...
for /L %%f in (1,1,3) do if "!rash%%f!"=="" set rMark%%f=no

Отправлено: 10:28, 04-11-2012 | #5


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


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

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


Благодарю ребят, помогло!

Отправлено: 23:25, 07-11-2012 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как получить значение параметра из реестра, добавить значение в текстовый файл etc.? Dark Ange1 Скриптовые языки администрирования Windows 28 22-06-2022 14:37
Прочее - Запретить переключать Wi-Fi сети пользователям XP entony-ua Сетевые технологии 4 01-10-2015 15:04
Загрузка - XP SP3. Значение «громкость» сбрасывается в среднее значение при перезагрузке. mitkadritka Microsoft Windows 2000/XP 9 24-02-2012 20:37
Разное - В IE8 в полях трудно переключать язык ввода. stanisluv Microsoft Windows 2000/XP 3 18-10-2009 03:43
Удаление маркера клиентских лицензий сервера терминалов Elnor Microsoft Windows NT/2000/2003 4 05-03-2008 18:46




 
Переход