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

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

Автор: inock
Дата сообщения: 22.04.2008 13:28
RaP1D


Цитата:
У меня вопрос, можно ли посредством bat файлов качать файлы из инета, например с адреса:


wget рулит.
http://sourceforge.net/projects/unxutils
маны в интернете


Добавлено:
igor_andreev

Цитата:
Реально. Но муторно. Vbs легче прикрутить.


Это-то мне было понятно с самого начала, что язык программирования лучше бы справился с этим делом. Но VBS я не понимаю абсолютно...

Вот сейчас пытаюсь разобраться, что делает эта строка:

Код:
WScript.Quit (DateDiff("d", CreateObject("Scripting.FileSystemObject").GetFile(WScript.Arguments.Item(0)).DateCreated, Now))
Автор: igor_andreev
Дата сообщения: 22.04.2008 16:51
inock

Цитата:
Вот сейчас пытаюсь разобраться, что делает эта строка:

Ничего не делает, выходит с кодом возврата, равным количеству дней, прошедших с момента создания файла, переданного в качестве параметра. На две последние строчки батника посмотри.

Цитата:
Она сравнивает только дату создания файла?

В этом варианте - да.

Цитата:
То есть forfiles /d -14 по любому сначала прогонять?

В forfiles и вставь его Даже не весь батник, а только последние две строчки
Автор: teaser11
Дата сообщения: 23.04.2008 02:36
ipmanyak

Сорри за мое ламерство...что то не получается...папки не удаляются...
Если не сложно напиши пожалуйста полностью готовый вид батника...и еще забыл, нужно чтобы он сам себя потом удалил...
Автор: RaP1D
Дата сообщения: 23.04.2008 11:21
Как сделать импорт команд в батник из другого файла?

На примере Bat у меня вот так:

файл start.bat:
@echo off
call param.bat
echo %a% and %b%
pause

Файл param.bat:
set a=345
set b=dfg

А как сделать, чтобы он брал текст из txt или ini, т.е. заместо param.bat был param.ini
Автор: AZJIO
Дата сообщения: 23.04.2008 12:41
Посмотрите вот это сообщение. Нужно создать запуск portable-программы с копированием профиля.
Автор: Tipulatoid
Дата сообщения: 23.04.2008 12:44
RaP1D

Цитата:
А как сделать, чтобы он брал текст из txt или ini, т.е. заместо param.bat был param.ini


Код: for /f "delims== tokens=1*" %%a in ('find "set a" param.ini') do set a=%%b
for /f "delims== tokens=1*" %%a in ('find "set b" param.ini') do set b=%%b
Автор: RaP1D
Дата сообщения: 23.04.2008 21:27
Tipulatoid
Спасибо!



А можно ли сделать так, чтобы батник сортировал картинки разных разрешений по папкам?
Допустим, картинки 1024x768 в папку normal, 1280x1024 в папку big и т.д.
Автор: Andryha2005
Дата сообщения: 23.04.2008 23:44
Нужен батник, который
1 устанавливает сетевое подключение (назовём его Internet);
2 проверяет его на работоспособность (ping),
3 в случае проблем (если ping не проходит) перезапускает подключение (с повторной проверкой),
4 если же всё нормально заканчивает свою работу.
Автор: Nagual
Дата сообщения: 24.04.2008 07:41
Andryha2005

Цитата:
1 устанавливает сетевое подключение (назовём его Internet);

тип подключения?
Автор: lexx
Дата сообщения: 24.04.2008 09:20
Подскажите как сделать приглашение на ввод внутри бат файла?
типа -
-------------------------------
Выдаем кучу информации
Введите номер : <здесь приглашение на ввод>
записываем полченный номер в файл
-------------------------------
Голову сломал уже, все сделал, а приглашение на ввод не получается, видел где-то никак не могу найти
Автор: Hanniball
Дата сообщения: 24.04.2008 09:24
в шапке, в полезных ссылках самая первая (Описание от разработчиков) на русском не работает.
Автор: Nagual
Дата сообщения: 24.04.2008 09:40
lexx
set /p "input= Введите выражение: "
Hanniball
на что исправить?
Автор: igor_andreev
Дата сообщения: 24.04.2008 11:22
RaP1D

Цитата:
А можно ли сделать так, чтобы батник сортировал картинки разных разрешений по папкам?
Допустим, картинки 1024x768 в папку normal, 1280x1024 в папку big и т.д.

Тебе нужна консольная утиль, показывающая размеры картинки nconvert или jhead
http://pagesperso-orange.fr/pierre.g/xnview/en_ncdownload.html
http://www.sentex.net/~mwandel/jhead/
и вставить в цикл FOR(не тестировал) что-то типа:
jhead картинка | find "нужное разрешение" && move картинку в нужную папку
Автор: sdaww
Дата сообщения: 24.04.2008 11:24
Можно ли поменять разрешения у ключей реестра из коммандной строки?
Автор: igor_andreev
Дата сообщения: 24.04.2008 12:02
sdaww
http://support.microsoft.com/kb/264584
Автор: NIKZZZZ
Дата сообщения: 24.04.2008 12:26
sdaww
В шапке, полезные утилиты "setacl" .

Автор: sdaww
Дата сообщения: 24.04.2008 13:47
igor_andreev
большое спасибо
Автор: Andryha2005
Дата сообщения: 24.04.2008 17:26
Nagual

Цитата:
тип подключения?

Сетевое подключение к Интернету (через подключенный к компьютеру сотовый), уже создано, нужно только запустить с вышеупомянутой проверкой. А то часто бывает запускаешь соединение, а странички всё равно не грузятся. Ping не проходит. Разрываю соединение, опять подключаюсь. И так пока не заработает.
Автор: Elroir
Дата сообщения: 24.04.2008 21:48
Hanniball

Цитата:
в шапке, в полезных ссылках самая первая (Описание от разработчиков) на русском не работает.

Исправлено
Автор: sdaww
Дата сообщения: 25.04.2008 08:35
NIKZZZZ, благодарю. Посмотрю
Автор: Serhi_84
Дата сообщения: 25.04.2008 12:42
Люди, подскажите, пожалуйста, как решить проблему.

Задача - в папке, не содержащей подпапок, лежат файлы. Требуется оставить в этой папке N самых свежих, а остальные - удалить. В качестве параметров скрипту передаются путь к папке и количество файлов, которые необходимо оставить(N).

Ход мыслей следующий - сначала сортируем файлы по дате:
FOR /F %%i IN ('dir /b /a-d /o-d %1') DO (%1 - вводимый путь к папке при запуске скрипта)

Находим общее количество файлов в папке:
dir /b /a-d /on %1\*.* | find /v /c "*"

И дальше как то нужно удалить файлы, начиная с порядкового номера 'общее количество - %2' (%2 - вводимое количество файлов, которые нужно оставить). То есть, наверное, нужно каждому файлу поставить в соответствие номер, и начиная с определенного номера начать удаление.

Вообще реально это батником сделать? На Vbscript начал пробовать, но там проблемы с сортировкой файлов по дате.
Автор: DiMaS_2006
Дата сообщения: 25.04.2008 12:51
Добрый день. Пытаюсь сделать фичу: в rightclick на файле создать пункт меню для отправки этого файла в папку на местном фтп-сервере.
Для этого сделал в реестре в разделе "*" соотв. раздел с командой:
Код: ftp -A -s:C:\000.txt ftp.burnet.ru "%1"
Автор: Elroir
Дата сообщения: 25.04.2008 12:53
Serhi_84

Код:
@echo off
set "N=10"
for /f "skip=%N% tokens=*" %%a in ('dir /b /a-d /o-d %1') do del /q "%~1\%%a"
Автор: 01MDM
Дата сообщения: 25.04.2008 12:59
DiMaS_2006

Убери кавычки вокруг %1 или используй "%~1" (в кавычках)
У тебя получается файл, заключенный в кавычки дважды.
Автор: DiMaS_2006
Дата сообщения: 25.04.2008 13:07
01MDM
Не помогло. То же, если вообще убрать параметр, то идет.
Elroir
Изначально делал батник с содержанием текстового файла, т.е.
Код: ftp -A ftp.burnet.ru
cd incoming
cd users
cd DiMaS
send "%1"
Автор: Serhi_84
Дата сообщения: 25.04.2008 13:14
Elroir, спасибо большое, забыл что есть skip)))
Автор: 01MDM
Дата сообщения: 25.04.2008 13:23
DiMaS_2006
Тогда попробуй так


Код:
@echo off

echo cd incoming>"C:\000.txt"
echo cd users>>"C:\000.txt"
echo cd DiMaS>>"C:\000.txt"
echo send %1>>"C:\000.txt"

ftp -A -s:C:\000.txt ftp.burnet.ru
Автор: Elroir
Дата сообщения: 25.04.2008 13:24
DiMaS_2006
Создавай батник следующего содержание и прописывай в реестр с параметром "%L":

Код:
@echo off
cd /d "%~dp1"
echo cd incoming>"C:\000.txt"
echo cd users>>"C:\000.txt"
echo cd DiMaS>>"C:\000.txt"
echo send "%~1">>"C:\000.txt"
ftp -A -s:C:\000.txt ftp.burnet.ru
Автор: 01MDM
Дата сообщения: 25.04.2008 13:32
Elroir
Забыл, бывает. Вот про %L совсем не подумал
Автор: DiMaS_2006
Дата сообщения: 25.04.2008 13:57
Все прописал, но cmd зависает на месте команды
Код: SEND "C:\Documents and Settings\Дима\Рабочий стол\11.txt"

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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