Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программирование bat файлов 
:(
    Опции темы
UserNet
Дата 24.2.2009, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 13.12.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Товарищи проблема в следующем
есть следующий бат файл
Код

@echo off
echo %1 %2 %3

set /a total=%2-%2/100*100
if %1==4 (set /a block1=1 & set /a block2=2 & set /a raz=16)
if %1==3 (set /a block1=4 & set /a block2=3 & set /a raz=16)
if %1==2 (set /a block1=5 & set /a block2=6 & set /a raz=24)

if %total% LEQ %raz% (echo 3 & set /a tmp=block1 & set /a lastoct=10*%total%+%3) else (set /a lastoct=%total%*10-%raz%*10+%3 & set /a tmp=block2)

set /a thoct=%tmp%*10+%2/100
set aa=10.10.%thoct%.%lastoct%
echo %aa%
rem netsh interface ip set address main  static %aa% 255.255.128.0 10.10.0.1 1


if %thoct%==10 (set /a thmac1=0 & set /a th=A)
if %thoct%==11 (set /a thmac1=0 & set /a th=B)
if %thoct%==12 (set /a thmac1=0 & set /a th=C)
if %thoct%==13 (set /a thmac1=0 & set /a th=D)
if %thoct%==14 (set /a thmac1=0 & set /a th=E)
if %thoct%==15 (set /a thmac1=0 & set /a th=F)
if %thoct%==16 (set /a thmac1=1 & set /a th=0)

echo %thoct%

if %thoct% GEQ 17 (set /a thmac1= %thoct%/16 & set /a th=%thoct%-16*%thmac1%)

rem if %th% LSS 0 (set /a th=%th%+16)

if %th%==10 set th=A
if %th%==11 set th=B
if %th%==12 set th=C
if %th%==13 set th=D
if %th%==14 set th=E 
if %th%==15 set th=F

set amac=%thmac1%%th% 

echo %thmac1%
echo %th%

echo %amac%
echo step1
rem echo %th%

rem if %lastoct%==10 set bmac=0A
rem if %lastoct%==11 set bmac=0B
rem if %lastoct%==12 set bmac=0C
rem if %lastoct%==13 set bmac=0D
rem if %lastoct%==14 set bmac=0E 
rem if %lastoct%==15 set bmac=0F
rem if %lastoct%==16 set bmac=10

rem if %lastoct% GEQ 17 (set /a thmac1= %lastoct%/16 & set rem /a th=%lastoct%-16*%thmac1% & set bmac=%thmac1%%th%)

rem echo %bmac%
rem echo %th%
rem echo %thmac1%
rem set  mac=00000A0A%amac%%bmac%
set mac=00000A0A%amac%
echo %mac%

Запускаю его с параметром, 2 417 2
сначала возникает надпись про непредвиденное появление оператора set, при повторном запуске всё нормально, и плюс ещё иногда не стого, не с сего, глючат результат,
затем допустим  
4 417 2
Откуда невозьмись берётся -24
Повторно с этими же параметрами, вычисляет нормально, в чём баг?
PM MAIL   Вверх
Thinker
Дата 24.2.2009, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

Репутация: 6
Всего: 29



Удали все REM и увидишь, где есть косяки.


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
UserNet
Дата 24.2.2009, 14:58 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 13.12.2006
Где: Новосибирск

Репутация: нет
Всего: 3



А по существу вопроса, можно ответ услышать?
PM MAIL   Вверх
Akina
Дата 24.2.2009, 18:26 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



Тебе очень даже по существу ответили.

Косяки в программах ищут при помощи трассировки кода. Батчи напрямую не трассируются, но можно после хоть каждой строки выводить на экран или в файл текущее состояние используемых переменных среды. Это даст возможность определить точки возникновения проблем и понять причины их возникновения.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
01MDM
Дата 25.2.2009, 20:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 10.5.2008
Где: Default City

Репутация: 29
Всего: 29



UserNet, 
Закоментируй или убери @echo off и перенаправь вывод батника в файл. Тогда можно разобраться в чем проблема.

Код

C:\> your.cmd 2 417 2 1>file.txt



--------------------
Вопросы в личке останутся без ответов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.