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

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

Автор: bomzzz
Дата сообщения: 21.08.2010 17:42
да можно. но строенная в винду утилита ftp умеет качать только в один поток, и это может получится дольше. но можно составить список файлов и запулить через комманднуб строку в даунлоад мастер
Автор: powernic
Дата сообщения: 21.08.2010 17:47
я не нашел чтобы с ftp можно было делать условие (if,erorlevel)
Автор: Seryoga204
Дата сообщения: 21.08.2010 17:48
bomzzz
да можно и в один поток, файлы не большие, текстового формата. Если можно маленький примерчик батника, как это все реализовать.
Автор: bomzzz
Дата сообщения: 21.08.2010 18:02
Seryoga204
ну вон на верху три поста выше и пример и картинко
Автор: powernic
Дата сообщения: 21.08.2010 18:11
bomzzz
примеры выше невтему нужен код типа

Код: ftp -s:send.txt >nul
if errorlevel 1 goto end
echo no>no.txt goto endo
:end
echo yes>yes.txt
:endo
Автор: bomzzz
Дата сообщения: 21.08.2010 18:14
я один раз в этом фтп покавырялса - вот батник написькал а как что рабоктаит уже не помню
Автор: Seryoga204
Дата сообщения: 21.08.2010 18:57
Сервер вроде без пароля а доступа нет?

Код: Пользователь (dm-ftp01.mozilla.orgnone)):
331 This FTP server is anonymous only.

503 Login with USER first.
Сбой входа.
ftp> BELL
Звуковой сигнал Вкл.
ftp> STATUS
Связь с dm-ftp01.mozilla.org.
Тип: ascii; Сообщения: Вкл; Звонок: Вкл; Приглашение: Вкл; Глобализация: Вкл
Отладка: Выкл; Печать метки хеширования: Выкл
ftp> DIR
530 Please login with USER and PASS.
530 Please login with USER and PASS.
ftp> CD pub
530 Please login with USER and PASS.
ftp> DIR
530 Please login with USER and PASS.
ftp> CD firefox
530 Please login with USER and PASS.
ftp> DIR
530 Please login with USER and PASS.
ftp> CD releases
530 Please login with USER and PASS.
ftp> DIR
530 Please login with USER and PASS.
ftp> CD 3.5.3
530 Please login with USER and PASS.
ftp> DIR
530 Please login with USER and PASS.
ftp> CD win32
530 Please login with USER and PASS.
ftp> DIR
530 Please login with USER and PASS.
ftp> CD ru
530 Please login with USER and PASS.
ftp> DIR
530 Please login with USER and PASS.
ftp> binary
530 Please login with USER and PASS.
ftp> get "Firefox Setup 3.5.3.exe"
530 Please login with USER and PASS.
ftp> quit
221 Goodbye.
Для продолжения нажмите любую клавишу . . .
Автор: bomzzz
Дата сообщения: 21.08.2010 19:21
а где строччка анонимус?

Добавлено:
echo ANONYMOUS>>MYFTP.txt

Добавлено:
в бинарный режим не забудь переключица
Автор: wolf0425
Дата сообщения: 21.08.2010 19:27

Цитата:
я не нашел чтобы с ftp можно было делать условие (if,erorlevel)
пиши раздельно вызовы ftp
1. получение списка файлов на закачку - вывод запоминаешь
2. для скачки файлов по подготовленному списку.

или качай с помощью wget - c ним скачивание быстрее напишешь
Автор: bomzzz
Дата сообщения: 22.08.2010 02:20
errorlevel ftp врядли вернет, потому что из нее надо выйти командной quit, а она выполнится и код ошибки станет скорее всего 0

Добавлено:

http://www.pc-tools.net/win32/ptime/ еще прикольную утилиту нашел которая позволяет измерять время выполнения команд и программ
Автор: bomzzz
Дата сообщения: 22.08.2010 04:51
ENHANCER.ZIP 324 КБ (332 063 байт)

исправил утилиту QCOPY теперь она копирует на 10% быстрее из за отключенного кеширования, и сразу создает пустой файл в требуемый размер, все таки возможен вариант когда в процессе копирования пустое место на диске изменится
Автор: bomzzz
Дата сообщения: 22.08.2010 08:27
Seryoga204
powernic
грустно и печально утилита ftp ничего не возвращает в коммандную строку и не может передать и не ведет лога, так что попробуйте wget или curl
Автор: wolf0425
Дата сообщения: 22.08.2010 09:23

Цитата:
грустно и печально утилита ftp ничего не возвращает в коммандную строку и не может передать и не ведет лога
зато на stdout всё выдает. анализируй если нужно.


Код: @echo off
chcp 1251

(echo user anonymous anonymous
echo ls "/upload/*"
) | ftp -n localhost >"%~dpn0.log"
Автор: bomzzz
Дата сообщения: 22.08.2010 09:43
понятно, не догадался так попробовать
Автор: bomzzz
Дата сообщения: 22.08.2010 12:04
обнаружил в qcopy абсолютно уникальную ошибку не поддающуюся никакому логическому объяснению. сижу экспериментирую с qcopy, оптимизирую алгоритм, на столе лежит файл справки от Win Api, начал его копировать - не копируется. получается файл 0-го размера. начинаю долбиться в это дело. меняю имя файла на другие: с WIN32.HLP на всякие разные в том числе точно копирующиеся. не копируется... проверяю его атрибуты - такие же как у всех. беру другой файл справки от масма 6.11 - тоже не копируется ни в какую. бился бился - оказывается при отключении кеширования записи на диск, копируются любые файлы кроме файлов справки....

еще раз исправил перезалил
Автор: us0r
Дата сообщения: 22.08.2010 12:13
bomzzz
Жэсть... Рыдал кровавыми слезами...
Неисповедимы пути МС...
Автор: bomzzz
Дата сообщения: 22.08.2010 12:20
но я мог этого не заметить если бы случайно этот файл не валялся, или я читал справку с сайта а не из него. не нашел ни одной окпирующей программы которые бы копировали эти файлы неправильно,

как пользоваться фукцией если у нее два таких флага чета не ясно


FILE_FLAG_WRITE_THROUGH    
Instructs the operating system to write through any intermediate cache and go directly to disk. The operating system can still cache write operations, but cannot lazily flush them.

FILE_FLAG_NO_BUFFERING    
Instructs the operating system to open the file with no intermediate buffering or caching. This can provide performance gains in some situations.
Автор: wolf0425
Дата сообщения: 22.08.2010 16:42
bomzzz, а к чему этот длинный список ссылок?
я что, где-то попросил ссылку на гугл и забыл?
Автор: bomzzz
Дата сообщения: 22.08.2010 16:44
это к тому что надо все искать

Добавлено:
но все можно найти. все давно уже написано.
Автор: wolf0425
Дата сообщения: 22.08.2010 17:30

Цитата:
все можно найти.
я где-то просил учить искать?
бредить перестань

то что я просил от тебя - я от тебя не увидел.
ссылку на гугл и умных советов что "всё можно найти" - я точно не просил.
Автор: bomzzz
Дата сообщения: 23.08.2010 13:01
а каждая вложенная команда for не переопределяет значение переменный i j k.....
Автор: lorents
Дата сообщения: 23.08.2010 13:23
bomzzz
я как написал здесь, понял где ошибка, я два раза использовал переменную i
Автор: bomzzz
Дата сообщения: 23.08.2010 13:31
составь списик, а потом его разбери пересобери
Автор: ivn1978
Дата сообщения: 23.08.2010 13:58
подскажите ибо не силен в батанике...
как удалить в папке все возможные файлы с разрешением .cmd (название может быть любым) кроме одного, напр. My.cmd?
Заранее благодарен
Автор: bomzzz
Дата сообщения: 23.08.2010 13:59
скопировать его в другую папку а потом назад

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

Добавлено:
или можно так сделать - переименовать все файлы CMD в папке сначала в KMD, предварительно создав в папке файл с именем MY.KMD, так как имя будет занято он один не переименуется, а потом удалить все файлы KMD в т ч и файл MY.KMD

Добавлено:
ECHO OFF>MY.KMD
REN *.CMD *.KMD
DEL *.KMD

Добавлено:
работкает


Добавлено:
ну или так можно сделать, что корректнее потому что ошибка не вылазит
REN MY.CMD MY.KKK
DEL *.CMD
REN MY.KKK MY.CMD

Добавлено:
и массовая операция только одна - быстро действеннее
Автор: wolf0425
Дата сообщения: 23.08.2010 15:52
ivn1978

Цитата:
как удалить в папке все возможные файлы с разрешением .cmd (название может быть любым) кроме одного, напр. My.cmd?
по очереди, в цикле

Код: for %%a in ( *.cmd ) do if /i "%%~a" neq "my.cmd" del "%%~a"
Автор: ivn1978
Дата сообщения: 23.08.2010 16:02
wolf0425
Спасибо.
еще вопрос: запускаю батником My.cmd батник My1.cmd командой start /wait. Если второй батник отрабатывается штатно и выходит по команде exit, то все хорошо. Но если его закрыть принудительно (закрыть консоль руками), то в первом батнике появляется
Код: ^CЗавершить выполнение пакетного файла [Y(Да)/N(Нет)]?
Автор: lorents
Дата сообщения: 23.08.2010 16:31
У меня есть папка с файлами. Подскажите, пожалуйста, как можно удалить дублирующие файлы, которые в папке. Под дубликатами я подразумеваю файлы которые весят одинаково.
Скажите пожалуйста в какую сторону смотреть?
Автор: bomzzz
Дата сообщения: 23.08.2010 16:35
lorents
создай список файлов с размерами командой дир, потом выкинь командой фор строки имеющую одинаковую колонку размера.

Добавлено:
wolf0425
им только остается посоветовать поискать себе форум для WAP

Добавлено:
FIND /v "%STRING%" <DIR.TXT > DIR1.TXT
вот как то так из файла пропадают при перезаписывании все одинаковые строчки. нашел у себя батник в котором это случайно пригодилось
Автор: wolf0425
Дата сообщения: 23.08.2010 16:55
ivn1978
Цитата:
Кстати, почему-то my.cmd тоже удаляется...
ну пропустил я одни кавычки в if, извиняй. поправил.

bomzzz
Цитата:
им только остается посоветовать поискать себе форум для WAP
или попросить модератора тебя забанить на недельку, раз до тебя так не доходит...


Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: XP не видит второй раздел на съемном USB-HDD


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