Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
batcmd
1

Вывод значения переменной, имя которой задаётся аргументом пакетного файла, без использования команды SET

28.06.2013, 16:12. Показов 2866. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть bat файл для которого в качестве параметра указывается переменная например windir на что программа выдает сообщение windir=C:\Windows, если же введенная переменная не определена то выдается соответствующее сообщение.
Bash
1
2
3
4
5
6
7
8
9
10
@echo off
cls
 
echo variable name: %1
echo.
 
set %1
echo.
 
pause
Нужно получить тот же результат без использования команды set. С cmd/bat совсем не знаком, единственное что пришло в голову создать файл со списком переменных и сравнить их заданным значением. Но будет ли правильным такой подход в cmd/bat ?
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.06.2013, 16:12
Ответы с готовыми решениями:

Копировать данные в таблицу имя которой задается переменной
Здравствуйте, подскажите, пожалуйста, как можно реализовать такой цикл: - есть лист "форма00" на...

Как в хранимой процедуре записывать результат в таблицу, имя которой задается переменной
Подскажите, как в хранимой процедуре SQL записывать результат в таблицу, имя которой задается...

Синтаксис команды SET при присвоении переменной значения
Пишу вот так: set /p name = Project5.exe del name ren check.download name start nameТо есть в...

Урезание части значения переменной с помощью команды SET
set /a INSTANCENAME=%SERVER:~%length%% Есть переменная Сервер и числовая переменная - Ленгтх...

3
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
28.06.2013, 18:17 2
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Можно.

Так:
Bash
1
call echo %%%~1%%
Либо так:

Bash
1
2
setlocal EnableDelayedExpansion
echo !%~1!
1
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
28.06.2013, 22:11 3
Цитата Сообщение от Dragokas Посмотреть сообщение
call echo %%%~1%%
Классно запускается с параметром %=%SYSTEMDRIVE%%
1
1747 / 352 / 41
Регистрация: 15.10.2012
Сообщений: 549
29.06.2013, 17:09 4
Можно ещё добавить проверку на существование переменной
Bash
1
2
3
@echo off
if not defined %~1 exit/b
call echo %%%~1%%
1
29.06.2013, 17:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2013, 17:09
Помогаю со студенческими работами здесь

Вывод в файл результата выполнения команды при запуске пакетного файла через Планировщик заданий
Хочу вывести результат выполнения команды w32tm /stripchart /computer:ntphost /samples:1 /dataonly...

Копирование файла, указанного первым аргументом, в папку, часть пути к которой указана вторым аргументом
Добрый день. Есть два задания из лабораторной работы. Я бы с радостью их сделал где угодно, кроме...

Передача значения переменной в другую форму без использования static
Собсна проблема в том, что в Form1.cs у меня стоит клавиатурный хук, который отлавливает нажатия...

Поменять местами значения двух переменных без использования дополнительной переменной
4. Написать программу, которая меняет местами значения двух переменных без использования...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru