|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] pop-up окно из батника |
|
CMD/BAT - [решено] pop-up окно из батника
|
Новый участник Сообщения: 36 |
доброго времени суток!
есть ежедневная рутинная задача - копировать файлы в папки с заданным именем. имя папки берется из переменной, которую я создаю так: но все происходит в черном окне смд, а мне бы хотелось, чтобы было всплывающее окошко виндовз с приглашением ввести имя и кнопочкой ОК, и дальше, если все успешно, не просто echo в черном окошечке, а какой нибудь алерт окно, что операция прошла успешно, как осуществить? заранее благодарен! |
|
------- Отправлено: 13:14, 06-08-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать oleg-sm, без сторонних средств на «чистых» пакетных файлах сие не реализовать. Переходите на WSH или PoSH. Опишете задачу целиком — возможно, Вам и сделают.
Вы вводите только имя папки или путь целиком? Существующей или не существующей папки? |
Отправлено: 16:55, 06-08-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 36
|
Профиль | Отправить PM | Цитировать в общем код выглядит примерно так (довольно примитивно, будет еще дорабатываться):
@echo off SetLocal EnableExtensions EnableDelayedExpansion Set /p folder="Введите имя каталога:" ping -n 1 -l 1 -w 1000 192.168.10.20 if "!ErrorLevel!"==0( mkdir "\\192.168.10.20\new\%folder%" copy "C:\newfile\bsv\list.txt" "\\192.168.10.20\new\%folder%\" )else( echo "BSV1 выключена" ) Ping -n 1 -l 1 -w 1000 192.168.20.30 if "!ErrorLevel!"==0( mkdir "\\192.168.20.30\new\%folder%" copy "C:\newfile\bsv\list.txt" "\\192.168.20.30\new\%folder%\" )else( echo "BSV2 выключена" ) вот и хотелось бы алерты не в смд, а интерактивно, чтобы я знал, что произошло. заранее спасибо |
------- Отправлено: 19:46, 06-08-2013 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать oleg-sm, зачем пинг? Достаточно ведь просто проверить существование удалённого ресурса «\\192.168.10.20\new».
Не проверялось: Option Explicit Dim strNewFolder Dim strShare Dim strPath strNewFolder = Trim(InputBox("Input new folder name", "Input folder name", "New folder")) If Len(strNewFolder) <> 0 Then With WScript.CreateObject("Scripting.FileSystemObject") For Each strShare In Array("\\192.168.10.20\new", "\\192.168.10.30\new2") If .FolderExists(strShare) Then strPath = .BuildPath(strShare, strNewFolder) .CreateFolder strPath .CopyFile "C:\newfile\bsv\list.txt", strPath & "\", True Else WScript.Echo "Can't find share [" & strShare & "]." End If Next End With Else ' Nothing input End If WScript.Quit 0 |
Отправлено: 20:21, 06-08-2013 | #4 |
Новый участник Сообщения: 36
|
Профиль | Отправить PM | Цитировать Iska, право, даже не знаю, что вам и ответить
![]() |
|
------- Отправлено: 21:47, 06-08-2013 | #5 |
Новый участник Сообщения: 36
|
Профиль | Отправить PM | Цитировать проверил, работает, только выдает ошибку в строке 16 символ 5 - файл уже существует
|
------- Отправлено: 22:14, 06-08-2013 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата oleg-sm:
![]() Не переживайте, не боги горшки обжигают. Учиться никогда не поздно. Цитата oleg-sm:
|
||
Отправлено: 22:52, 06-08-2013 | #7 |
Старожил Сообщения: 410
|
Профиль | Отправить PM | Цитировать проще на autoit, но его тоже учить нужно
![]() Так что из таких вариантов (не bat) выбор не велик, либо autoit либо VBS на autoit это будет что-то вроде Наверное как-то так: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> $Form1 = GUICreate('Копирование', 320, 150) GUICtrlCreateLabel('Копируемая директория:', 8, 10) $Input1 = GUICtrlCreateInput("", 8, 30, 257, 21) $Button1 = GUICtrlCreateButton("...", 272, 25, 35, 25) GUICtrlCreateLabel('Пункт назначения:', 8, 60) $Input2 = GUICtrlCreateInput("", 8, 80, 257, 21) $Button2 = GUICtrlCreateButton("...", 272, 80, 35, 25) $Button3 = GUICtrlCreateButton("Начать копирование", 100, 120, 120, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 $folder1 = FileSelectFolder("Выберите каталог.", "", '', '', GUICreate('')) GUICtrlSetData($Input1, $folder1) Case $Button2 $folder2 = FileSelectFolder("Выберите каталог.", "", '', '', GUICreate('')) GUICtrlSetData($Input2, $folder2) Case $Button3 If GUICtrlRead($Input1) = "" Then MsgBox(0,'Ошибка','Не казан каталог-источник') ElseIf GUICtrlRead($Input2) = "" Then MsgBox(0,'Ошибка','Не указан каталог назначения') Else MsgBox(0,'',$folder1) DirCopy ($folder1,$folder2,0) ;если третий параметр 1 тогда с перезаписью файлов с одинаковыми именами EndIf EndSwitch WEnd |
------- Отправлено: 22:53, 06-08-2013 | #8 |
Новый участник Сообщения: 36
|
Профиль | Отправить PM | Цитировать насколько я понимаю, ВБ вроде распространней будет, а есть какой то мануальчик, как быстрее осовить его? не книга, а может сборник готовых решений и основы синтаксиса?
|
------- Отправлено: 23:04, 06-08-2013 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата oleg-sm:
Цитата oleg-sm:
|
||
Отправлено: 00:34, 07-08-2013 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Создание файла из батника | Hrist | Скриптовые языки администрирования Windows | 9 | 18-01-2013 11:26 | |
CMD/BAT - [решено] Убрать строчки с pause из батника | game_Racer | Скриптовые языки администрирования Windows | 3 | 18-06-2011 16:27 | |
CMD/BAT - [решено] Удаление каталогов на FTP из батника | shraybikus | Скриптовые языки администрирования Windows | 8 | 24-05-2011 15:02 | |
CMD/BAT - [решено] Запустить из батника секцию Inf-а | Nun-Nun | Скриптовые языки администрирования Windows | 1 | 06-01-2011 02:35 | |
CMD/BAT - [решено] Запуск программ из батника | akrav | Скриптовые языки администрирования Windows | 16 | 27-05-2009 00:19 |
|