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

Что такое «%1»?

21.02.2016, 12:34. Показов 29643. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему %1,а не %1%?Что я пропустил в чтеннии справки о переменных?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2016, 12:34
Ответы с готовыми решениями:

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с...

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое напряжение и что такое сила тока с позиции заряженных частиц
Объясните пожалуйста, что такое напряжение и что такое сила тока с позиции заряженных частиц....

14
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
21.02.2016, 12:35 2
ZoOoO, http://dl.gsu.by/doc/use/ntcmds.htm
0
199 / 209 / 69
Регистрация: 09.02.2016
Сообщений: 1,040
21.02.2016, 13:07  [ТС] 3
Я как раз это читал.Причем тут %0-%9?Что это такое %0-%9?
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
21.02.2016, 13:12 4
Параметры переданные батнику.

Создайте батник с таким содержимым

Windows Batch file
1
2
3
4
5
6
7
8
@echo off
echo I am - %0
echo first - %1
echo second - %2
echo seventh - %7
echo everything - %*
 
pause >nul
И запустите с параметрами
Код
batfile.bat каждый охотник желает знать где сидит фазан
1
199 / 209 / 69
Регистрация: 09.02.2016
Сообщений: 1,040
21.02.2016, 13:14  [ТС] 5
Чувствуется,что я на пороге чего-то нового.Того чего я раньше не знал))
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
21.02.2016, 13:21 6
Ну еще и так для закрепления материала.

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
 
echo 1.  %~1
echo 2.  %~f1
echo 3.  %~d1
echo 4.  %~p1
echo 5.  %~n1
echo 6.  %~x1
echo 7.  %~s1
echo 8.  %~a1
echo 9.  %~t1
echo 10. %~z1
echo.
echo.
echo 11. %~dp1
echo 12. %~nx1
echo 14. %~ftza1
 
pause >nul
В качестве параметра передайте какой-нибудь файл.
Например так


Код
batfile.bat C:\Windows\explorer.exe
Все взято прямо из материала по ссылке.
0
199 / 209 / 69
Регистрация: 09.02.2016
Сообщений: 1,040
21.02.2016, 14:12  [ТС] 7
нужно задание.Что бы понять,для чего это нужно делать(

Добавлено через 33 минуты
а в нутри файла .Бат или передача другому батнику параметров полученных переменных возможна?
что то вроде:
Windows Batch file
1
2
3
set a=1
set b=2
call 1.bat %a% %b%
Возможно.Проверил.Просто лень что то самому проверять ,проще спросить кто уже знает)
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
21.02.2016, 14:13 8
Возможна.
0
199 / 209 / 69
Регистрация: 09.02.2016
Сообщений: 1,040
21.02.2016, 15:23  [ТС] 9
Вот еще.
если мы в начале батника пишем код
Bash
1
2
:2
if !a!==!b! (@if !b!==!c! (echo win 4) else (goto 3)) else (goto 3)
то командный файл сразу же выдает
Bash
1
echo win 4
Это связанно с тем,что сначала проверяются значения переменных,а так как переменные уже равны,потому что по умолчанию они пустые.Я правильно понимаю?
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
21.02.2016, 15:30 10
Полностью покажите всё.

Если используете отложенное раскрытие переменных, то не забывайте дописывать
setLocal EnableDelayedExpansion
0
199 / 209 / 69
Регистрация: 09.02.2016
Сообщений: 1,040
21.02.2016, 15:37  [ТС] 11
Полностью там еще все в разработке.
setlocal...... написан.Там все в порядке.
Я просто к тому,что если ставить это условие в начало ,то происходит вывод win 4.А не перенаправление на третью метку(goto 3).А из-за чего это происходит ,свои предположение я написал выше.
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
21.02.2016, 15:54 12
Я не могу ответить на вопрос, так как не знаю, что у вас там происходит.
Хотите разобраться, попробуйте перед этой строкой добавить
Windows Batch file
echo "!a!", "!b!", "!c!"
И станет видно, что чему равно.

Добавлено через 5 минут
Я вот смотрю и понять не могу, может все-таки вот так задумывалось ?

Windows Batch file
1
if !a!==!b! (if !b!==!c! (echo win 4) else (goto 3)
Если да, то достаточно так.
Windows Batch file
1
2
if !b!==!c! echo win 4
if !a!==!b! goto 3
0
199 / 209 / 69
Регистрация: 09.02.2016
Сообщений: 1,040
21.02.2016, 17:16  [ТС] 13
Windows Batch file
1
2
3
4
5
if !c!==!e! (@if !e!==!k! (goto 4)) 
if !a!==!e! (@if !e!==!g! (goto 4))  
goto 3
:4
echo получилось
проверяется условие.
Если условие верно,то проверяется второе условие.Если условие верно,то происходит переход на метку :4
Если условие в строчке 1 не совпадает,то проверяется условие во второй строчке.Если условие тоже не совпадает,то
то должен быть переход на метку :3

вводим в переменную %а% значение.Идет выполнение условия.Вместо того,что бы переходить на метку :3,идет переход на метку :4.Хотя остальные значения переменных не заданы.
если в четвертой метке подставить вывод переменных начиная с той которой присвоили значение.То на экран выводится только значение переменной %а%.Отсюда я делаю вывод,что остальные переменные просто навсего не существуют еще.Тогда каким образом происходит переход на метку :4?

Добавлено через 6 минут
Победил я это,если в начале файла задал переменным разные значения.
0
sov44
21.02.2016, 17:32
  #14

Не по теме:

ZoOoO, на будущее, если нужна подсказка участников форума, публикуйте полностью код, чтобы не было такого

Цитата Сообщение от ZoOoO Посмотреть сообщение
setlocal...... написан.Там все в порядке.
И ещё, символ знака восклицания используются, если переменная присвоена в цикле (внутри скобок). Если переменная присвоена вне скобок, используется символ процента.

0
199 / 209 / 69
Регистрация: 09.02.2016
Сообщений: 1,040
21.02.2016, 17:56  [ТС] 15
Цитата Сообщение от sov44 Посмотреть сообщение

Не по теме:

ZoOoO, на будущее, если нужна подсказка участников форума, публикуйте полностью код, чтобы не было такого

Цитата Сообщение от ZoOoO Посмотреть сообщение
setlocal...... написан.Там все в порядке.
И ещё, символ знака восклицания используются, если переменная присвоена в цикле (внутри скобок). Если переменная присвоена вне скобок, используется символ процента.

ЗНАЧИТ ТАК.Вот код полностью.Не ржать!Игра называется:"крестики и нолики".Игра в принципе не дописана
,но уже работает.Все,что я понял с этими восклецательными знаками это,что ставя их.Я раскрываю переменную и начинаю работать не с названием переменной,а с ее значением.
сча

Добавлено через 14 минут
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@echo off
 
Setlocal EnableDelayedExpansion
set a=a
set b=b
set c=c
set d=d
set e=e
set f=f
set g=g
set s=s
set k=k
 
:1
echo.
echo.
echo.
echo            !c! ^| !d! ^| !g!
echo              ^|   ^| 
echo           -----------
echo              ^|   ^|
echo            !b! ^| !e! ^| !s!
echo              ^|   ^|
echo           -----------
echo              ^|   ^| 
echo            !a! ^| !f! ^| !k! 
echo              ^|   ^|
 
 
echo a.set a       
echo b.set b
echo d.set d
echo e.set e
echo f.set f
echo g.set g
echo s.set s
echo k.set k
echo c.set c
 
set /p u=Vvedite bukvu polya:
set /p n=Vvedite "x" ili "0":
 
if !u!==a (set a=!n!)
if !u!==b (set b=!n!)
if !u!==d (set d=!n!)
if !u!==e (set e=!n!)
if !u!==f (set f=!n!)
if !u!==g (set g=!n!)
if !u!==s (set s=!n!)
if !u!==k (set k=!n!)
if !u!==c (set c=!n!)
 
 
if !a!==!b! (@if !b!==!c! (goto 4))  
if !a!==!e! (@if !e!==!g! (goto 4)) 
if !c!==!e! (@if !e!==!k! (goto 4))   
if !b!==!e! (@if !e!==!s! (goto 4))
if !c!==!d! (@if !d!==!g! (goto 4))    
if !k!==!s! (@if !s!==!g! (goto 4))   
if !f!==!e! (@if !e!==!d! (goto 4)) 
if !a!==!f! (@if !f!==!k! (goto 4))  
goto 1
 
:4
echo !a! !f! !e! !d!
pause
0
21.02.2016, 17:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2016, 17:56
Помогаю со студенческими работами здесь

Что такое монитор и что такое мьютекс? Это же разные вещи?
Здравствуйте. В разных айти-статьях по-разному используют эти термины, причём часто их путают друг...

Что такое токен? Что такое сессия? Отличия от куки
Что такое токен и сессии ? в чем отличия от куков ? Безопасно ли использовать куки? можно ли...

Что такое метод equals() и что такое класс Object
Ответи на два вопроса очень надо 1) Что такое метод equals(). Чем он отличается от операции ==....

Что такое хэндлер файла? Что такое файловый указатель?
Что такое хэндлер файла? Что такое файловый указатель?


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

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