Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Операционные системы общие вопросы
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2010, 19:17   #181
strangegirl
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 19
По умолчанию

sL4yer

всё так же...ничего не меняется(
strangegirl вне форума Ответить с цитированием
Старый 24.11.2010, 19:43   #182
sL4yer
Пользователь
 
Регистрация: 10.11.2010
Сообщений: 24
По умолчанию

strangegirl

Цитата:
Сообщение от strangegirl Посмотреть сообщение
@echo off
:start
echo 1. Mario
echo 2. Karty (pas`jans)
echo 3. 10Rogue
echo 4. Exit
set /p A=Vyberite nomer igry iz spiska:
if %A%==1 (start mario.exe)
if %A%==2 (start mshearts.exe)
if %A%==3 (10rogue.exe)
if %A%==4 (goto exit)
goto start
:exit
Дело в том, что ваш bat-файл не будет выполнятся в MS-DOS.

_http://www.computerhope.com/msdos.htm#02 - тут список и определение всех команд для всех операционных систем Windows.
Если заглянуть на страницу команды set - _http://www.computerhope.com/sethlp.htm, то можно увидеть следующее:

Цитата:
MS-DOS, Windows 95, Windows 98, Windows ME Syntax

Displays, sets, or removes Windows environment variables.

SET [variable=[string]]
variable Specifies the environment-variable name.
string Specifies a series of characters to assign to the variable.

Type SET without parameters to display the current environment variables.
то есть в MS-DOS нельзя использовать set /p, так как его там нет.
Начиная только с Windows 2000, можно использовать команду set с ключом /p

Всё это касается и других команд.


Добавлено:
Я немного переделал Вашу программу:
Код:
@echo off

if (%1) == () goto Arg

set ent=%1

if "%ent%"=="1" Mario.exe
if "%ent%"=="2" mshearts.exe
if "%ent%"=="3" 10rogue.exe
goto EXIT

:Arg
echo Error: Argument required!
echo 1. Mario
echo 2. Karty (pas`jans)
echo 3. 10Rogue

:EXIT
в Ваш bat-файл нужно передать в качестве параметра %1 - номер игры. То есть если в командной строке написать games.bat 1 - запустится игра "Марио", и так далее... Если запустить bat-файл без параметров - выведет на екран
Код:
Error: Argument required!
1. Mario
2. Karty (pas`jans)
3. 10Rogue
Пробуйте

P.S. Где games.bat имя вашего bat-файла .

Последний раз редактировалось sL4yer; 24.11.2010 в 20:04.
sL4yer вне форума Ответить с цитированием
Старый 24.11.2010, 20:45   #183
strangegirl
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 19
По умолчанию

sL4yer

Спасибо большое) получилось))
strangegirl вне форума Ответить с цитированием
Старый 05.12.2010, 15:19   #184
Pblcb
Пользователь
 
Регистрация: 22.10.2010
Сообщений: 14
По умолчанию

Доброго времени суток всем! Помогите пожалуйста найти ошибку!
Задание такое:
Написать файл triangle.bat, рисующий треугольник с количеством строк, равным значению первого параметра и из символа, задаваемого вторым параметром. Например: triangle 10 aa рисует следующий треугольник:
aa
aaaa
aaaaaa
aaaaaaaa
aaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa

Мой вариант решения:
@echo off
echo the program makes a triangle of the symbols:
set /P C=0
set /P K=1
set A=aa
echo **
for /L %%C in (1,1,10) do for /L %%K in (1,1,%%C) do set A=aa%A% & echo %A%
pause

В чем ошибка: выдается нужное количество символов "аа", но каждый на своей строке, т.е. треугольник не рисуется. Подскажите пожалуйста, как это можно исправить? Заранее благодарна.
Но заклинаю я самым чистым и святым - ни мира, ни любви у сильных не проси!...
(однако помощи то у знающих просить не запрещается! )

Последний раз редактировалось Pblcb; 05.12.2010 в 15:23.
Pblcb вне форума Ответить с цитированием
Старый 05.12.2010, 19:33   #185
Pblcb
Пользователь
 
Регистрация: 22.10.2010
Сообщений: 14
По умолчанию

Цитата:
Сообщение от sL4yer Посмотреть сообщение
Pblcb
Код:
...
Огромнейшее спасибо! Вы мне зачет спасли!
Но заклинаю я самым чистым и святым - ни мира, ни любви у сильных не проси!...
(однако помощи то у знающих просить не запрещается! )
Pblcb вне форума Ответить с цитированием
Старый 05.12.2010, 20:01   #186
sL4yer
Пользователь
 
Регистрация: 10.11.2010
Сообщений: 24
По умолчанию

Pblcb

Код:
@echo off
cls
setlocal enabledelayedexpansion

if (%1) == () (
	echo Error: First argument required!
	goto :EOF
) else if (%2) == () (
	echo Error: Second argument required!
	goto :EOF
)

set /a StringCount=%1-1
set char=%2
set char2=%2

echo Triangle: & echo.

echo %char%
for /l %%i in (1,1,%StringCount%) do (
	set char=!char!!char2!
	echo !char!
)
sL4yer вне форума Ответить с цитированием
Старый 05.12.2010, 20:49   #187
sL4yer
Пользователь
 
Регистрация: 10.11.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Pblcb Посмотреть сообщение
Огромнейшее спасибо! Вы мне зачет спасли!
немного затупил...

Код:
@echo off
cls
setlocal enabledelayedexpansion

if (%1) == () (
	echo Error: First argument required!
	goto :EOF
) else if (%2) == () (
	echo Error: Second argument required!
	goto :EOF
)

set char=%2
set char2=%2

echo Triangle: & echo.

for /l %%i in (1,1,%1) do (
	echo !char!
	set char=!char!!char2!
)
так будет лучше
sL4yer вне форума Ответить с цитированием
Старый 05.12.2010, 22:08   #188
Pblcb
Пользователь
 
Регистрация: 22.10.2010
Сообщений: 14
По умолчанию

кстати, объясните пожалуйста, что значит !char! - т.е. выделение восклицательными знаками?
Но заклинаю я самым чистым и святым - ни мира, ни любви у сильных не проси!...
(однако помощи то у знающих просить не запрещается! )
Pblcb вне форума Ответить с цитированием
Старый 05.12.2010, 22:18   #189
sL4yer
Пользователь
 
Регистрация: 10.11.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Pblcb Посмотреть сообщение
кстати, объясните пожалуйста, что значит !char! - т.е. выделение восклицательными знаками?
Цитата:
В обычном случае, чтобы узнать значение переменной окружения, надо воспользоваться конструкцией %переменная%. Однако, если значение переменной меняется внутри цикла и читается там же, то для корректной работы батника, нужно использовать команду setlocal enabledelayedexpansion и вместо символа "%", использовать символ "!". Иначе, значение переменной в цикле будет всегда одним и тем же - таким, каким было до входа в цикл.
источник: _http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start =633&limit=1
sL4yer вне форума Ответить с цитированием
Старый 05.12.2010, 22:53   #190
Pblcb
Пользователь
 
Регистрация: 22.10.2010
Сообщений: 14
По умолчанию

вот оно что... спасибо!
Но заклинаю я самым чистым и святым - ни мира, ни любви у сильных не проси!...
(однако помощи то у знающих просить не запрещается! )
Pblcb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для сохранения листов в отдельных файлах Neo007 Microsoft Office Excel 2 22.10.2008 18:16
Русская раскладка в bat-файлах snake-as Microsoft Office Excel 3 16.10.2008 17:59
Сортировка в файлах и записях. Паскаль Elizabeth Black Помощь студентам 2 27.05.2008 21:51
Помогите с вопросами о файлах Дима82 Помощь студентам 5 26.05.2008 19:49
Помогите, пожалуйста, решить задачу по файлах sheva_ser Паскаль, Turbo Pascal, PascalABC.NET 1 27.03.2008 19:36