Всё про bat !
-
- Лейтенант
- Сообщения: 156
- Зарегистрирован: 02.02.2010
- Откуда: Улан-Удэ
- Поблагодарили: 2 раза
- Контактная информация:
Ты в самом начале упомянул ДОС, в котором большая часть из представленных команд не пойдут: часть нужно держать в известных системе местах, часть просто для винды.
- GanGSISoft
- Полковник
- Сообщения: 1430
- Зарегистрирован: 27.03.2008
- Откуда: Бацькаўшчына
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Имеется код
mklink /d "d:/steam/SteamApps/user name/portal/portal/save" "d:/steam/SteamApps/user name/Source/portal/save"
Вопрос: как заменить "d:/steam" на значение из реестра?
Добавлено спустя 1 минуту 26 секунд:
И желательно, чтобы присвоить значение какой нибудь переменной, а потом её вставлять где надо.
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 раз
- Контактная информация:
GanGSISoft
После этих действий появляется переменная SteamPath :-), но
если не нашёлся Steam.exe, то идёт вызов метки SteamError, как процедуры (void SteamError() {})
Код: Выделить всё
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
если не нашёлся Steam.exe, то идёт вызов метки SteamError, как процедуры (void SteamError() {})
- GanGSISoft
- Полковник
- Сообщения: 1430
- Зарегистрирован: 27.03.2008
- Откуда: Бацькаўшчына
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Darth Revan
Спасибо.
Значит будет работать это:
?
Спасибо.
Значит будет работать это:
Код: Выделить всё
<твой код>
set UserName="name"
mklink /d SteamPatch+"\SteamApps\"+UserName+"\Portal\portal...
- Darth Revan
- Майор
- Сообщения: 784
- Зарегистрирован: 30.09.2008
- Поблагодарили: 1 раз
- Контактная информация:
GanGSISoft
Не будет, ибо Batch - это не C ;-).Кстати, Path переводится, как путь :-).
Не будет, ибо Batch - это не C ;-).
Код: Выделить всё
<мой код>
set UserName=name
mklink /d "%SteamPath%\SteamApps\%UserName%\Portal\portal/save" "%SteamPath%\SteamApps\%UserName%\Source\portal/save"
Последний раз редактировалось $t@t!c_V()1D 18.05.2010, 22:44, всего редактировалось 1 раз.
Причина: "Path - путь" и кэп уже у твоих ног, умирает от зависти, и просит, и умоляет не отнимать у него хлеба.
Причина: "Path - путь" и кэп уже у твоих ног, умирает от зависти, и просит, и умоляет не отнимать у него хлеба.
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
DeadLife
Ты уж напиши понятней, попробуй. Это не сложно.
Ты уж напиши понятней, попробуй. Это не сложно.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
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 раз
оо большое спасибо
Добавлено спустя 9 минут 20 секунд:
Опять пробелема
я сделал так
и после выбора выходят все сообщения (которые прописанны в echo
Добавлено спустя 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
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
Добавь exit в каждом условии.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
DeadLife
Наверное, отсюда: http://en.wikibooks.org/wiki/Guide_to_Windows_commands
Наверное, отсюда: http://en.wikibooks.org/wiki/Guide_to_Windows_commands
Последний раз редактировалось olegv11 27.10.2010, 20:43, всего редактировалось 1 раз.
- DeadLife
- Капитан
- Сообщения: 326
- Зарегистрирован: 20.04.2010
- Благодарил (а): 151 раз
- Поблагодарили: 48 раз
я сделал так в чем ошибка //подправил
Код: Выделить всё
@echo off
cls
%file=Sample.cpp%
%exe=Sample.exe%
bcc32.exe %file%
cls
start %exe%
pause
cls