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

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

Автор: volodyalipkin
Дата сообщения: 20.12.2005 21:03
olegupb
Для командной строки
for /F %i in (файл) do set q=%i
Переменной q будет присвоено значение строки из "файл". Дальше понятно? (В bat надо удвоить % перед %i)
Автор: kservice
Дата сообщения: 20.12.2005 22:35
Всем добрый вечер! Приятно прочитать умные мысли от умных людей. Вот задачка, интересная, по-моему не только для меня.
1) Скачали с сайта интересный файл. Через некоторое время уже не помним откуда, а хотелось бы посмотреть продолжение. Сейчас я вручную вношу в имя файла ссылку на сайт, а сам файл потом переношу в какую-то папку соответственно его специализации (систематизирую). Есть ли варианты красивого решения?
2) Скачиваем какие-то интересные программы, а их много. Со временем уже и не помним, что за программа, для чего, есть ли ключ и где. Я одновременно пытаюсь или вручную сделать описание, или скачать его. Потом эту связку (программа-описание)таскаю по дискам, пытаюсь систематизировать. Источник опять же отмечаю в названии. Много возни, сложно соблюдать порядок. Нужна какая-то програмка, которая бы эту связку поддерживала, а дистрибутивы закачанных программ вместе с описанием как-то систематизировала (например, кидала в каталог Программы/Система/Восстановление или что-то подобное. Возможны варианты. Цель: связать программу и описание и ,по возможности, систематизировать.
А где можно подробнее почитать про теорию и практику создания bat-файлов?
Автор: olegupb
Дата сообщения: 21.12.2005 09:20
volodyalipkin
Супер!
Я еще сюда приду
Автор: chifram
Дата сообщения: 21.12.2005 09:56
из темы дозвон
нужно в реестре намертво закрепить параметры дозвона: имя пользователя, пароль, номер телефона
нужно установить права на ветку
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RAS AutoDial
только чтение
и второй вариант вернуть все назад

это возможно ?
Автор: olegupb
Дата сообщения: 21.12.2005 17:24
Еще один вопрос!
Есть некий файл-список, например list.txt который содержит в себе имена других файлов такого формата:

Цитата:
file31.rtf
file1.exe
file432.doc
file154.avi
file1124.rtf
file21.cmd

Как сделать так чтоб копировались только файлы которые указаны в list.txt?
Спасибо.
Автор: staz
Дата сообщения: 21.12.2005 17:35
Как удалить из папки все файлы, кроме тех которые нужны?
К примеру в папке 5 файлов, два из них мне нужны, как удалить остальные три?
Автор: vu1tur
Дата сообщения: 21.12.2005 17:37
olegupb
for /F %%i in ('type list.txt') do copy %%i ...
Автор: olegupb
Дата сообщения: 21.12.2005 18:07
vu1tur
Спасибо, получилось
Автор: hacsoft
Дата сообщения: 21.12.2005 19:01
staz
del
Автор: staz
Дата сообщения: 21.12.2005 19:38
Ну а че del...del удалит все, а я ж говорю что мне надо выборочно...как это сделать?
Автор: volodyalipkin
Дата сообщения: 22.12.2005 02:07
staz

Цитата:
выборочно

Что есть критерий выборности? Перечисленны в другом файле, самые свежие ... ?
Автор: kservice
Дата сообщения: 22.12.2005 13:35

hacsoft

Цитата:
Готов решить любую задачу по программированию на bat-файлах для системы WinXP.


А почему молчишь по поводу моей задачи?
Автор: hacsoft
Дата сообщения: 22.12.2005 17:54
kservice
Когда я писал, что готов решать задачи по программированию, я подразумевал именно задачи по программированию, типа такого: Дано то-то... Найти то-то... Типа олимпиадных. Ну ладно, это не прижилось, пошли решать самые разные задачи на bat-файлах. За собой же я оставляю право либо решить задачу (если она мне понравится), либо не решать (если не захочу), кроме меня тут еще много умных людей, которые могут помочь. Да и ваша задача очень расплывчатая и не определена точно, так что ее я решать не хочу... Можете попробывать дать более точное описание, тогда, возможно, будет понятно, что вы хотите от программы...

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

Посмотри на 1-й или на 2-й странице этой темы были ссылки на хэлп по батфайлам (если у тебя англоязычный).
Автор: VelDmi
Дата сообщения: 23.12.2005 18:49
Клевая темка.
Когда я хочу увидеть результат на экране я делаю так:
echo InputPatch = %InputPatch%
echo WorkPatch = %WorkPatch%

Когда в файле я делаю так:
echo InputPatch = %InputPatch% > log
echo WorkPatch = %WorkPatch% >> log

А если я хочу увидеть и на экране и записать в файл? Как можно сделать?
Автор: Smitis
Дата сообщения: 23.12.2005 22:16
VelDmi

Цитата:
А если я хочу увидеть и на экране и записать в файл? Как можно сделать?

Утилита TEE, пришедшая из NIX-сов на WIN32. Например, сдесь http://gnuwin32.sourceforge.net/
Используется, например, так:
echo 1234567890 | tee echo.out
echo qwerty | tee -a echo.out

Автор: vvagrantt
Дата сообщения: 24.12.2005 09:49
В никсах есть такая интересная штучка, как nohup.
Есть ли что-либо подобное в винде?
Т.е., чтоб запущенный батник продолжал работу в случае отключения от консоли сервера терминалов.
Автор: hacsoft
Дата сообщения: 24.12.2005 20:32
VelDmi
В конце вывода сделай type log
Автор: kservice
Дата сообщения: 24.12.2005 21:18
hacsoft


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

Спасибо за ответ. Я готов дать более точные данные в ответ на более точный вопрос.
Готов по мере сил участвовать в ее решении.
Задача расплывчатая лишь в силу, как мне кажется, многовариантности решения.
Если задача не вызывает интереса, так може кто-то подскажет, как она решается другими. Неужели вы все не скачиваете программы и статьи из WWW, а если скачиваете, то, также как и я, разносите их потом вручную по различным папкам и каталогам на своем PC? Может есть какие-то неизвестные мне подходы? Когда я ставил эту задачу, то понимал, что здесь вряд ли хватит мощности bat-программирования. Просто увидел, сколько интересных вещей здесь предлагается и решил попробовать. Скорее всего, это задача для других программистов (C, Delphi, VB)?
Автор: Smitis
Дата сообщения: 24.12.2005 22:33
kservice

Цитата:
Неужели вы все не скачиваете программы и статьи из WWW, а если скачиваете, то, также как и я, разносите их потом вручную по различным папкам и каталогам на своем PC? Может есть какие-то неизвестные мне подходы?

Для текстов так называемые "веб-органайзеры". Например, WebCatcher (теперь CyberArticle), Inquiry, Net Snippets, ContentSaver и д.р. Offline Explorer ещё посмотри.
А файлы - любая нормальная качалка позволяет по разным папкам скачаное распихивать.
Автор: asup
Дата сообщения: 25.12.2005 20:22
Всем привет!

Я пытаюсь реализовать с помощью ВАТ файлов следующую задачу,
запуск приложения под правами другова польтеля, и при закрытии этого приложения автоматическое выключение компьютера.
У меня не получается реализовать это в виде одного файла, и второе проблема в том что постоянно появляется окно выполнения ВАТ файла, что с ним можно сделать что бы оно не было на переднем плане или всё выполнялось в скрытом виде или хотябы в свернутом что бы пользователь не мог его случайно закрыть.

первый фаил у меня запускает второй фаил с правами админа

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

runas /user:admins /savecred ./a1.bat

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Второй фаил запускает приложение с параметрами и после закрытия приложения выполняет третий ВАТ фаил с командой на выключение машины.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

@ECHO OFF
"D:\Program Files\1Cv77\BIN\1c77.exe" ENTERPRISE /D " .\DemoDB\" /N "user"
./a2.bat
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
В третем файле всё просто, выполняет команду на выключение машины, спомощью внешнего файла с нестандартными ключами.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
.\shutdown.exe" /-1
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

В таком виде всё отлично у меня работает, за исключением двух неудобств которые я написал вначале.
Если возможно это всё сделать удобнее и комфортнее, помогите написать хороший ВАТ фаил. Заранее благадарю! С наступающим Новым 2006 Годом!!!





Автор: Smitis
Дата сообщения: 26.12.2005 23:18
asup

Цитата:
У меня не получается реализовать это в виде одного файла

Текущее имя файла содержится в параметре %0
Будет что-то типа
runas /user:admins /savecred %0
А что бы не было рекурсивного зацикливания предусмотреть дополнительный параметр или переменную.

Для управления окнами можно использовать утилиту CMDOW. Например, команда cmdow @ /hid в командном файле скроет его окно. Можно запускать файлы через ярлык через cmdow /run /hid команда

А вообще, с подобными вопросами лучше наверное сюда http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=4582&start=360#lt
Автор: dartvaider
Дата сообщения: 27.12.2005 10:27
подскажите как при наличии НАТ можно заходить с фтп сервер с батника и качать оттуда что либо?
очень нужно!
Автор: ipmanyak
Дата сообщения: 27.12.2005 13:30
коли nat включен, то качать с ftp можешь спокойно ! FTP в батнике
ftp -s:"C:\myscript.txt"

OPEN myfavoriteserver.com
ИмяЮзера
Пароль
CD /папка на ФТП/../
LCD C:\локальная папка\..
MPUT файлы, которые хотим передать
GPUT файлы которые хотим скачать
BYE

с помощью проги wget

wget -N ftp://что_то_что_нужно_скачать -o out.txt
find /i "not retrieving." out.txt
if %ERRORLEVEL% == 0 goto NO_D
echo Скачали файл
goto END
:NO_D
echo Не скачали файл
:END
Автор: dartvaider
Дата сообщения: 27.12.2005 13:40
ipmanyak
Примного благодарствую Вам! Спасибо
Автор: Child
Дата сообщения: 27.12.2005 13:55
Имеется:
папка, в которой каждый день создаётся папка с именем "YYYYMMDD.SRS", в папку записываются файлы
Требуется:
еждневно проверять, была ли сегодня создана папка, есть ли в ней файлы. если нет - уведомить человека, в идеале - отослать е-мэйл.

Спасибо и всех с праздниками Новогодних чудес вам. Приятных.
Автор: evgeni666
Дата сообщения: 28.12.2005 12:11
Вот вам развлечение на праздники
Два кракмикса. Написаны исключительно на cmd. Никаких внешних программ.
В первом (crackme.bat) надо найти валидный пароль. Кракми содержит ошибку, так,что паролей может быть множество.
Ко второму кракми (crc_me2.bat) надо написать кейген. Он также содержит ошибку, которая заключается в том, что
при вводе набора символов, не описанных в переменной var20, кракми попадает в вечный цикл. Оба кракми работают начиная с Windows 2000 и выше.

Выделяем, сохраняем в файл с расширением .b64 потом в тоталкомандире декодируем.

----------------- это начало ----------------
MIME-Version: 1.0
Content-Type: application/octet-stream; name="crm_bat.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="crm_bat.zip"

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
ZS50eHRQSwUGAAAAAAMAAwCqAAAA7ggAAAAA
--------------- это уже конец ------------

PS. Второй кракмикс считает долго. Так, что приходится подождать. Зато брутфорс к нему не прокатит
Автор: Ignat
Дата сообщения: 28.12.2005 16:07
Доброго времени суток!
Описание: Программа под DOS, есть возможность вывода документов на печать ч/з Excel с помощью батника:

@echo off
call C:\Progra~1\Micros~1\Office\excel.exe %1

Проблема: папка Office может быть Office, Office10, Office11, а также если ОС переустанавливали один раз, то - C:\Progra~2\Micros~1\Office\excel.exe, если два, то - C:\Progra~3\Micros~1\Office\excel.exe. Если Офис переустанавливали один раз (или установлен FrontPage), то - C:\Progra~1\Micros~2\Office\excel.exe и т.д. Также папка Program Files может быть переименована, да и вообще находиться на разделе Х:\ .

Задача: написать батник с относительным путем к excel.exe, что-то типа:

call %OFFICE%_PATH%\excel.exe %1 (не работает, наверное и не должен )

Спасибо


Автор: vu1tur
Дата сообщения: 28.12.2005 16:52
Ignat
Так пусть операционная система сама разбирается:
start %1
Автор: Alan Mon
Дата сообщения: 28.12.2005 16:55
Ignat

Код: for /L %%i in (12,-1,7) do call :GetPath %%i
goto :end
:GetPath
reg query HKLM\Software\Microsoft\Office\%1.0\Excel\InstallRoot /v Path
if errorlevel 1 goto :end
acregl.exe "%TEMP%\SetPath.cmd" OFFICE_PATH HKLM\Software\Microsoft\Office\%1.0\Excel\InstallRoot Path ""
call "%TEMP%\SetPath.cmd"
del "%TEMP%\SetPath.cmd" 2>&1
:end
Автор: jak_forest
Дата сообщения: 28.12.2005 17:06
Child

Код:
if exist <dir name>

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Вернуть библиотеку АТМ (поддержка шрифтов Type 1)


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