Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 2

Автор: Nagual
Дата сообщения: 10.04.2007 23:49
igor_andreev

Цитата:
Smitis
test.cmd

Код:
Set s=CreateObject("WScript.Shell") : s.Popup "It's vbscript",1,"oops", 64 '& cls & wscript //e:vbscript %0 & echo It's cmd & pause
Автор: KapralBel
Дата сообщения: 11.04.2007 01:19
Читал, читал ветку и не понял
зачем объединять в одном скрипте VBS и Bat???
Автор: euheny
Дата сообщения: 11.04.2007 04:12
KapralBel

Цитата:
и не понял
зачем объединять в одном скрипте VBS и Bat???

Помойму тут тоже ничего интересного нет , в отличае от запуска батников из контекстного меню.
Однако вопрос я задал ... но толи никто не знает , толи никто не врубился.
Автор: Nagual
Дата сообщения: 11.04.2007 04:39
euheny
KapralBel
да в принципе область применения мала, об этом было сразу сказано, но думаю все же есть, если разобраться и покопаться, то можно многое совместить
допустим та же задача по созданию времени, приведенная Игорьком Андеевым и тд, да много что можно придумать, если разобраться, просто осознание этого немного в диковинку, ибо всегда считалось, что скрипты намного мощнее сценариев и из скриптов спокойно можно было выполнять различные команды, а тут на тебе, и сценарии в долгу не остались
имхо лучше когда есть возможность, чем когда ее нету
хотя пока с трудом тоже могу придумать этому применение, но думаю со временем может и буду использовать эту особенность почему нет, собсна?
хотя меня лично больше и давно интересует выполнение скрипта одной строкой (командой)
Автор: Maza Faka
Дата сообщения: 11.04.2007 08:09
euheny

Цитата:
в отличае от запуска батников из контекстного меню

Из контекстного меню папки? Тогда так:

Код:
@Echo off
Reg add HKCR\Directory\shell\cmdhere /t REG_SZ /v "" /d CMD /f
Reg add HKCR\Directory\shell\cmdhere\command /t REG_SZ /v "" /d "C:\Windows\System32\cmd.exe /k cd "%1"" /f
Автор: Smitis
Дата сообщения: 11.04.2007 08:11
Nagual

Цитата:
а помнится мне кто-то раньше говорил, что это сделать невозможно и вот на тебе, так что шаман был

Я имел ввиду НОРМАЛЬНОЕ объединение, т.е. гибридный файл содержит полнофункциональную VBS-часть и полнофункциональную CMD-часть, а не одну строчку. Плюс, желательно, отключение эха в CMD-части.
Вот пример получше:

Код:
:On Error Resume Next
:sub bat
echo off
echo This is CMD
cscript -e:vbscript "%~f0"
:end sub
:WScript.Echo "This is VBS"
Автор: NIKZZZZ
Дата сообщения: 11.04.2007 09:38
Nagual

Цитата:
хотя пока с трудом тоже могу придумать этому применение

Применение очень простое - у каждого скрипта есть своя заточка. Например, аналог строки батника
for /r %%i in (*.*) echo %%i
на wsh пишется довольно сложно, а простая проблема замены в тексте на батниках напрямую не решается. При этом , если человек разбирается в батниках, зачем ему переходить на что-то еще? Между тем, чтобы написать 2-3 строки на wsh , его не надо глубоко изучать. И к тому-же в батниках сплошь и рядом применяются внешние утилиты, почему не воспользоваться встроенными в систему средствами?

Автор: KapralBel
Дата сообщения: 11.04.2007 10:20
А что если из WSH вызвать батничек или утилиту - возникают проблемы?

А вообще можно переходить (для более менее сложных задач) на PowerShell
там многие вещи решаются гораздо проще
например таже любимая всеми проблема - получить дату отстоящую от сегодняшей на 1,2,3 и т.д. ней
На один день есть даже в шапке для всеобщего счастия
а на более ....
Эта же задача на PowerShell

Код: PS C:\> $DateNow=Date
PS C:\> $DateNow
Ср, 11 апреля 2007 г. 10:15:29
PS C:\> $Date22=$DateNow.AddDays(-22)
PS C:\> $Date22
Вт, 20 марта 2007 г. 10:15:29
Автор: Nagual
Дата сообщения: 11.04.2007 10:42
NIKZZZZ
не очень и сложно, здесь можно спокойно делать хитрый выпад
createobject("wscript.shell").run"cmd /c for /r %i in (*.*) do echo %i>>1.txt"
Автор: Elroir
Дата сообщения: 11.04.2007 11:02
euheny

Цитата:
Интересно , а как участники этой темы запускают cmd ?
Неужели через "выполнить"

Что подразумевается под cmd? cmd.exe? Сами батники?
И почему "Неужели"?
Автор: NIKZZZZ
Дата сообщения: 11.04.2007 12:15
KapralBel

Цитата:
А вообще можно переходить (для более менее сложных задач) на PowerShell

Да в общем нет смысла спорить, что лучше , что хуже. Есть встроенные средства (WSH,BAT) и внешние. BAT удобен для простых задач, WSH наоборот для серьезных. Не тот, не другой не имееют полноценный компиляторов. Лично мне нравится Autoit, в нем есть практически все включая графику + полноценный компилятор от производителя. Но его недостаток - требуется внешний файл, либо программа должна быть откомпилирована.


Добавлено:
Nagual

Цитата:
не очень и сложно

А если без хитрых выпадов?

Автор: sansun
Дата сообщения: 11.04.2007 12:24

Цитата:
Да просто, берешь и скидываешь Правильно заданный вопрос - уже половина ответа. Какие символы в пароле, пример приведи. И чем скачивать-закачивать собрался, прог то много.

вот пример настройки подкючения к фтп через фар:
[FarFTP]
URL=ftp://prz:prz135@10.106.10.250/work
Password=hex:a10dfc
Description=work
AskLogin=0
AsciiMode=0
PassiveMode=0
UseFirewall=0
CharTable=

для автоматизации нужно подключиться через батник
Автор: NIKZZZZ
Дата сообщения: 11.04.2007 12:38
sansun
Так на предыдущей странице твоя задача практически решена!
Автор: Nagual
Дата сообщения: 11.04.2007 12:59
NIKZZZZ

Цитата:
А если без хитрых выпадов?

это уже другая ветка
Автор: igor_andreev
Дата сообщения: 11.04.2007 13:12
sansun

Цитата:
для автоматизации нужно подключиться через батник

Так и будешь формулировать вопрос в час по чайной ложке? Скачать надо или закачать? И чем ты хочешь это проделать в батнике? Есть wget.exe, curl.exe, wput.exe, есть стандартная ftp.exe, есть ftps.exe, sftpc.exe, scriptftp.exe, и еще много всяких exe, штук двадцать с ходу могу назвать и все можно в батниках использовать.
Ну допустим, предположу, что ты хочешь что-то стандартным консольным ftp-клиентом проделать. Начни тогда отсюда http://support.microsoft.com/kb/96269 , что непонятно - спрашивай.
Автор: sansun
Дата сообщения: 11.04.2007 13:51

Цитата:
Так и будешь формулировать вопрос в час по чайной ложке? Скачать надо или закачать? И чем ты хочешь это проделать в батнике? Есть wget.exe, curl.exe, wput.exe, есть стандартная ftp.exe, есть ftps.exe, sftpc.exe, scriptftp.exe, и еще много всяких exe, штук двадцать с ходу могу назвать и все можно в батниках использовать.

использую стандартную ftp.exe, непонятно только где и в каком виде вставит пароль. Надо будет и скачивать и закачивать, но с этим вроде пока понятно

NIKZZZZ
что-то не найду???
Автор: igor_andreev
Дата сообщения: 11.04.2007 14:03
sansun

Цитата:
использую стандартную ftp.exe, непонятно только где и в каком виде вставит пароль.

По ссылке щелкни в моем предыдущем ответе. Обычный текстовой файл script.txt, в котором в столбик пишешь все, что хочешь от ftp.exe

Цитата:

open ftp.host.com
имя_пользователя
пароль
cd /удаленная_папка
lcd D:\локальная_папка
binary
put file.zip
disconnect
bye

и запускай ftp.exe -s:script.txt



Автор: KapralBel
Дата сообщения: 11.04.2007 14:06
sansun
В чем проблема, то
использую стандартный ftp - подсунуть пароль
или
перевести пароль из зашифрованного вида в настоящий?
Автор: sansun
Дата сообщения: 11.04.2007 14:19
igor_andreev
KapralBel

open 10.106.10.250
user prz prz135
a1odfc
cd work
append d:\pass.txt
bye

1) после пароля выдает "недопустимая команда"
2) пароль прямо так и вводить?
Автор: KapralBel
Дата сообщения: 11.04.2007 14:24
sansun
user prz prz135 - это ввод пользователя и пароля
Автор: igor_andreev
Дата сообщения: 11.04.2007 14:28
sansun

Цитата:

user prz prz135
a1odfc

Ты что, свой собственный логин и пароль не знаешь? Судя по адресу ftp://prz:prz135@10.106.10.250/ имя пользователя prz пароль prz135. А зачем ты с реестра еще hex вставил? Password=hex:a10dfc
Автор: sansun
Дата сообщения: 11.04.2007 14:40
после
user prz prz135
выдает
331 Password required for prz

а затем на:
append d:\pass.txt

550 Cannot APPE. No permission

Автор: igor_andreev
Дата сообщения: 11.04.2007 14:43
sansun
А ты присмотрись к моему ответу на предыдущей странице. Где ты там видел имя пользователя и пароль на одной строке?

open 10.106.10.250
prz
prz135
cd work
append d:\pass.txt
bye
Автор: sansun
Дата сообщения: 11.04.2007 14:50

Цитата:
open 10.106.10.250
prz

выдает "Недопустимая команда"

Цитата:

prz135

выдает "Недопустимая команда"

Цитата:

cd work
append d:\pass.txt
bye

Автор: KapralBel
Дата сообщения: 11.04.2007 14:54
igor_andreev
В команде User можно указывать пароль и юзера на одной строке

sansun
Мне создалось впечатление что эта комбинация (юзер+пароль) не действительна
Автор: sansun
Дата сообщения: 11.04.2007 15:01

Цитата:
В команде User можно указывать пароль и юзера на одной строке

по моим данным тоже самое

каталог work открыт только для чтения, в другом каталоге нормально записывается и считывается

только не понятно а для чего это: Password=hex:a10dfc
Автор: igor_andreev
Дата сообщения: 11.04.2007 15:02
sansun
А так?

open 10.106.10.250
user prz
prz135
cd work
...


Цитата:
каталог work открыт только для чтения

А зачем ты тогда команду append пытаешься применить?

Цитата:
только не понятно а для чего это: Password=hex:a10dfc

Для Far
KapralBel

Цитата:
указывать пароль и юзера на одной строке

Один раз споткнулся на этом - больше ни-ни
Автор: KapralBel
Дата сообщения: 11.04.2007 15:09
sansun
Это зашифрованный ФАРом пароль
Автор: sansun
Дата сообщения: 11.04.2007 15:11
также как со строкой
user prz prz135

в принципе все работает, igor_andreev, KapralBel спасибо


Цитата:
Один раз споткнулся на этом - больше ни-ни

почему?


Цитата:
Это зашифрованный ФАРом пароль

а я мучаюсь

Добавлено:
теперь другая проблема: с фтп надо качать файлы только за сегодняшнее число???
Автор: igor_andreev
Дата сообщения: 11.04.2007 16:56
sansun

Цитата:
с фтп надо качать файлы только за сегодняшнее число???

cd work
dir *.* list.txt
FIND в list.txt сегодняшнее число(будет скорей всего типа 11 Apr) и FOR в помощь, названия файлов выдергивай

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Сбой активации XP sp2


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.