Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
27 Апрель 2024, 20:14:03
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

Помощь в создании .bat файла (закрыть)

Страниц  :   Вниз
  Печать  
Автор Тема: Помощь в создании .bat файла (закрыть)  (Прочитано 2552 раз)
0 Пользователей и 1 Гость смотрят эту тему.
IAM
Почетный гродненец
*****

Репутация: +62/-0
Offline Offline

Пол: Мужской
Сообщений: 1339


Я люблю всех на Гродненском форуме!

Просмотр профиля
« : 29 Ноябрь 2007, 15:35:21 »

 Задача.
Пользователь для обновления своей базы должен скопировать определённые файлы.
Задаётся маска для копирования файла.

Сначала пользователь вводит последнюю цифру года, и это значение присваивается первой переменной из маски. Здесь нет проблем. Проблема возникает при вводе номера месяца, месяцев 12, т. е. больше 10 (Есть ограничение: в bat не может быть больше 10 переменных).
Мне надо номер месяца, который вводит пользователь, присваивать другой переменной

Кто может подскажет чего-нибудь. :-?

За ранее всем спасибо!
« Последнее редактирование: 30 Ноябрь 2007, 14:17:48 от IAM » Записан

Богатство человека - здоровье и мудрость
Толяныч
Почетный гродненец
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 1025


Я люблю этот Форум!

Просмотр профиля
« Ответ #1 : 29 Ноябрь 2007, 16:30:13 »

@echo off
:loop
if _%1 == _ goto end
echo %1
shift
goto loop
:end



И вызови его как

1.bat 1 2 3 4 5 6 7 8 9 0 11 12 13 14 15


Или я неправильно понял ограничение на переменные?
« Последнее редактирование: 29 Ноябрь 2007, 16:31:33 от the » Записан
VooDoo
Почетный гродненец
*****

Репутация: +89/-1
Offline Offline

Пол: Мужской
Сообщений: 2885


Dum spiro spero

Просмотр профиля WWW Email
« Ответ #2 : 29 Ноябрь 2007, 16:30:26 »

что-то слабо понял.
про максимум 10 переменных... ты имел ввиду параметров, типа:
start.bat param1 param2 .... param10 ?
Записан

Are you human? - My body is.
Do you feel pain? - My body does.
..- --- --- -.. --- ---
Толяныч
Почетный гродненец
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 1025


Я люблю этот Форум!

Просмотр профиля
« Ответ #3 : 29 Ноябрь 2007, 16:39:04 »

Ну или вот так (по крайней мере для Windows XP)


@echo off

set i=0

:loop

if _%1 == _ goto end

set /a i=i+1
echo #%i%

set month%i%=%1
echo %1


shift

goto loop

:end

echo %month1%, %month2%, %month3%, %month4%, %month5%, %month6%, %month7%, %month8%, %month9%, %month10%, %month11%, %month12%, %month13%, %month14%, %month15% ...

Записан
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #4 : 29 Ноябрь 2007, 23:03:04 »

оффтоп

на vbscript такие проблемы решать намного проще, если речь идет конечно не о лабе, где стоит четкое условие написать батник. сам раньше по глупости считал возможности скриптинга и автоматизации в винде очень скудными, пока не увидел wsh, wmi и компанию
Записан
Dj_NudnyJ
Настоящий гродненец
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 369


Просмотр профиля
« Ответ #5 : 30 Ноябрь 2007, 01:06:38 »

ещё немного оффтопа

Код:
@rem = '
@echo off
if exist %0 goto :ok
C:\cygwin\bin\ruby.exe %0.bat
goto :eof
:ok
C:\cygwin\bin\ruby.exe %0
goto :eof
@rem ';

#
# ruby code coes here
#

print "And no problems :)"
Записан
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #6 : 30 Ноябрь 2007, 05:02:47 »

хех, круто конечно, но насколько я понимал вызываеццо код руби  который идет в батнике дальше, верно?

с удовольствием посмотрю как ты таким макаром заюзаеш ком-объекты винды Улыбка
Записан
Dj_NudnyJ
Настоящий гродненец
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 369


Просмотр профиля
« Ответ #7 : 30 Ноябрь 2007, 11:34:45 »

Цитировать
как ты таким макаром заюзаеш ком-объекты винды
никаким  Смеющийся
когда ты пишешь на руби, тебе больше ничего не надо  8-)
Записан
IAM
Почетный гродненец
*****

Репутация: +62/-0
Offline Offline

Пол: Мужской
Сообщений: 1339


Я люблю всех на Гродненском форуме!

Просмотр профиля
« Ответ #8 : 30 Ноябрь 2007, 14:16:05 »

Ребята, всем ещё раз спасибо, нашёл свою ошибку. Спасибо также за наводку на vbscript, почитаю, попробую.

Тема закрыта
Записан

Богатство человека - здоровье и мудрость
maxposedon
Настоящий гродненец
****

Репутация: +26/-0
Offline Offline

Сообщений: 696


empty

Просмотр профиля
« Ответ #9 : 30 Ноябрь 2007, 14:52:26 »

Цитировать
хех, круто конечно, но насколько я понимал вызываеццо код руби  который идет в батнике дальше, верно?

с удовольствием посмотрю как ты таким макаром заюзаеш ком-объекты винды Улыбка
А какие проблемы?
OLE, COM, WinAPI и тд ЕСТЬ в ruby, причём ни в каких нить библиотеках, а в самом ruby.
И использывать из ruby excel через ole, никаких проблем.
DeNiM, ты бы сначала внутрь проектов смотрел, прежде чем обвинять их).

P.S. ruby жжот )
Записан
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #10 : 30 Ноябрь 2007, 16:53:31 »

Цитировать
Цитировать
хех, круто конечно, но насколько я понимал вызываеццо код руби  который идет в батнике дальше, верно?

с удовольствием посмотрю как ты таким макаром заюзаеш ком-объекты винды Улыбка
А какие проблемы?
OLE, COM, WinAPI и тд ЕСТЬ в ruby, причём ни в каких нить библиотеках, а в самом ruby.
И использывать из ruby excel через ole, никаких проблем.
DeNiM, ты бы сначала внутрь проектов смотрел, прежде чем обвинять их).

P.S. ruby жжот )

ну, вопервых что то или кавото в чем то я ни разу не обвинял Улыбка имелось в виду что это не самый оптимальный подход. интерпретатор руби реализован и под wsh, так что совсем не обязательно запускать иво под cygwin'ом. в виду этого юзать cygwin ради руби и через сygwin ломиццо к виндовзным ком объектам (незнаю, можно так сделать или нет?) имхо бред и изврат  

читай внимательней и смотри код
« Последнее редактирование: 30 Ноябрь 2007, 16:54:21 от DeNiM » Записан
maxposedon
Настоящий гродненец
****

Репутация: +26/-0
Offline Offline

Сообщений: 696


empty

Просмотр профиля
« Ответ #11 : 30 Ноябрь 2007, 16:57:54 »

cygwin ортогонален com-у) если честно
использывать cygwin или не cygwin это вообще мелочи.

А вообще, всё что делает cygwin это реализует пару sys call-ов типа fork. )
Записан
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #12 : 30 Ноябрь 2007, 17:15:23 »

Цитировать
cygwin ортогонален com-у)

млин, не софсем понимаю что ты хочеш этим сказать

Цитировать
если честно
использывать cygwin или не cygwin это вообще мелочи.

А вообще, всё что делает cygwin это реализует пару sys call-ов типа fork. )

т.е. нет разници  - запускать эмулятор и под ним интерпретатор руби, или делать это напрямую?
Записан
maxposedon
Настоящий гродненец
****

Репутация: +26/-0
Offline Offline

Сообщений: 696


empty

Просмотр профиля
« Ответ #13 : 30 Ноябрь 2007, 18:07:23 »

1. ортогонален == независим

2. cygwin НЕ ЭМУЛЯТОР, не капли
cygwin это всеголишь dll-ка в которой реализованы
fork, kill, mmap, open, close и т.д

самая обыкновенная dll-ка)
Записан
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #14 : 30 Ноябрь 2007, 18:22:59 »

так нахрен нужен ваще cygwin в данном случае?
« Последнее редактирование: 30 Ноябрь 2007, 18:24:56 от DeNiM » Записан
maxposedon
Настоящий гродненец
****

Репутация: +26/-0
Offline Offline

Сообщений: 696


empty

Просмотр профиля
« Ответ #15 : 30 Ноябрь 2007, 18:33:00 »

в данном случае просто стоит ruby собранный под cygwin, а не под mingw)
и всеголишь.
почему?) - не ко мне вопрос)
Записан
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #16 : 30 Ноябрь 2007, 18:45:54 »

что тебе и пытались объяснить Улыбка
Записан
Dj_NudnyJ
Настоящий гродненец
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 369


Просмотр профиля
« Ответ #17 : 30 Ноябрь 2007, 18:52:02 »

от развели флейму  Смеющийся
DeNiM там cygwin нигде не запускается.
просто руби лежит в директории c:\cygwin\bin
(я не виноватъ что мне нравится версия руби под цыгвином, есть руби и нативно под вынь, как кому нравится)

Записан
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #18 : 30 Ноябрь 2007, 19:04:27 »

фсио, дашло Улыбка
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2024, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,14 секунд. Запросов: 20.