Всё про bat !

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
KPu3uC B Poccuu
Лейтенант
Лейтенант
Сообщения: 156
Зарегистрирован: 02.02.2010
Откуда: Улан-Удэ
Поблагодарили: 2 раза
Контактная информация:

#31 Сообщение 17.02.2010, 13:18

Ты в самом начале упомянул ДОС, в котором большая часть из представленных команд не пойдут: часть нужно держать в известных системе местах, часть просто для винды.

Аватара пользователя
GanGSISoft
Полковник
Полковник
Сообщения: 1430
Зарегистрирован: 27.03.2008
Откуда: Бацькаўшчына
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

#32 Сообщение 17.05.2010, 23:47

Имеется код
mklink /d "d:/steam/SteamApps/user name/portal/portal/save" "d:/steam/SteamApps/user name/Source/portal/save"
Вопрос: как заменить "d:/steam" на значение из реестра?

Добавлено спустя 1 минуту 26 секунд:
И желательно, чтобы присвоить значение какой нибудь переменной, а потом её вставлять где надо.

Аватара пользователя
Darth Revan
Майор
Майор
Сообщения: 784
Зарегистрирован: 30.09.2008
Поблагодарили: 1 раз
Контактная информация:

#33 Сообщение 18.05.2010, 12:43

GanGSISoft

Код: Выделить всё

if exist .\Steam.exe (
  set SteamPath=%cd%
)
else (
  for /f "Tokens=2*" %%i in ('reg query HKCU\SOFTWARE\Valve\Steam /v SteamPath') do
    set SteamPath=%%j
)
if not exist "%SteamPath%\Steam.exe" 
  for /f "Tokens=2*" %%i in ('reg query HKLM\SOFTWARE\Valve\Steam /v InstallPath') do
    set SteamPath=%%j
if not exist "%SteamPath%\Steam.exe" 
  call :SteamError
После этих действий появляется переменная SteamPath :-), но
если не нашёлся Steam.exe, то идёт вызов метки SteamError, как процедуры (void SteamError() {})

Аватара пользователя
GanGSISoft
Полковник
Полковник
Сообщения: 1430
Зарегистрирован: 27.03.2008
Откуда: Бацькаўшчына
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

#34 Сообщение 18.05.2010, 13:22

Darth Revan
Спасибо.
Значит будет работать это:

Код: Выделить всё

<твой код>
set UserName="name"
mklink /d SteamPatch+"\SteamApps\"+UserName+"\Portal\portal...
?

Аватара пользователя
Darth Revan
Майор
Майор
Сообщения: 784
Зарегистрирован: 30.09.2008
Поблагодарили: 1 раз
Контактная информация:

#35 Сообщение 18.05.2010, 14:27

GanGSISoft
Не будет, ибо Batch - это не C ;-).

Код: Выделить всё

<мой код>
set UserName=name
mklink /d "%SteamPath%\SteamApps\%UserName%\Portal\portal/save" "%SteamPath%\SteamApps\%UserName%\Source\portal/save"
Кстати, Path переводится, как путь :-).
Последний раз редактировалось $t@t!c_V()1D 18.05.2010, 22:44, всего редактировалось 1 раз.
Причина: "Path - путь" и кэп уже у твоих ног, умирает от зависти, и просит, и умоляет не отнимать у него хлеба.

Аватара пользователя
DeadLife
Капитан
Капитан
Сообщения: 326
Зарегистрирован: 20.04.2010
Благодарил (а): 151 раз
Поблагодарили: 48 раз

#36 Сообщение 26.10.2010, 18:44

а как сделать типо csiw выбираешь пункты, я пытаюсь на xp использовать choice но он не работает (сорри за непонятность)
Изображение

Аватара пользователя
halvist
Лейтенант
Лейтенант
Сообщения: 119
Зарегистрирован: 26.06.2006
Благодарил (а): 12 раз
Поблагодарили: 22 раза
Контактная информация:

#37 Сообщение 26.10.2010, 18:47

автору спасибо. о некоторых командах я не знал даже 0_о

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#38 Сообщение 26.10.2010, 18:51

DeadLife
Ты уж напиши понятней, попробуй. Это не сложно.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
DeadLife
Капитан
Капитан
Сообщения: 326
Зарегистрирован: 20.04.2010
Благодарил (а): 151 раз
Поблагодарили: 48 раз

#39 Сообщение 26.10.2010, 19:55

Я пытаюсь сделать в bat'нике список где можно выбрать пункт, но на моей windows xp параметра choice нет.
Изображение

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#40 Сообщение 26.10.2010, 20:33

DeadLife
Зачем вообще делать что-то батником?..
Попробуй так:
@echo off
Set /p UserChoice="Выберите желаемое действие [0-3]: "
IF %UserChoice==0 GOTO FirstChoice
IF %UserChoice==1 GOTO SecondChoice
IF %UserChoice==2 GOTO ThirdChoice
IF %UserChoice==3 GOTO FourthChoice
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
DeadLife
Капитан
Капитан
Сообщения: 326
Зарегистрирован: 20.04.2010
Благодарил (а): 151 раз
Поблагодарили: 48 раз

#41 Сообщение 26.10.2010, 21:17

оо большое спасибо

Добавлено спустя 9 минут 20 секунд:
Опять пробелема
я сделал так

Код: Выделить всё

@echo off
cls
color f0
Set /p UserChoice="A kTo 9I [0-3]: "
IF %UserChoice==0 GOTO FirstChoice
IF %UserChoice==1 GOTO SecondChoice
IF %UserChoice==2 GOTO ThirdChoice
IF %UserChoice==3 GOTO FourthChoice
:FirstChoice
pause
:SecondChoice
echo Tbl JIox
pause
:ThirdChoice
echo Tbl TTobegiJI
pause
:FourthChoice
echo A kyga 9I TToTTaJI
pause
и после выбора выходят все сообщения (которые прописанны в echo
Изображение

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#42 Сообщение 26.10.2010, 22:10

Добавь exit в каждом условии.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
DeadLife
Капитан
Капитан
Сообщения: 326
Зарегистрирован: 20.04.2010
Благодарил (а): 151 раз
Поблагодарили: 48 раз

#43 Сообщение 27.10.2010, 20:25

NiGHt-LEshiY
А откуда столько ты про бат знаеш?
если ты выкопал это с интернета то скинь мне ссылку пожалуйста

Добавлено спустя 5 минут 33 секунды:
Да и кста с я добавил exit но теперь появляется только 1 echo
Изображение

Аватара пользователя
olegv11
Полковник
Полковник
Сообщения: 2329
Зарегистрирован: 16.03.2007
Откуда: От мамы

#44 Сообщение 27.10.2010, 20:43

DeadLife
Наверное, отсюда: http://en.wikibooks.org/wiki/Guide_to_Windows_commands
Последний раз редактировалось olegv11 27.10.2010, 20:43, всего редактировалось 1 раз.
Изображение
Garry Newman писал(а):Atheists don't hate religious people, they just think they're stupid.

Аватара пользователя
DeadLife
Капитан
Капитан
Сообщения: 326
Зарегистрирован: 20.04.2010
Благодарил (а): 151 раз
Поблагодарили: 48 раз

#45 Сообщение 02.11.2010, 07:09

я сделал так в чем ошибка //подправил

Код: Выделить всё

@echo off
cls
%file=Sample.cpp%
%exe=Sample.exe%
bcc32.exe %file%
cls
start %exe%
pause
cls
Изображение

Ответить