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

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

Автор: NIKZZZZ
Дата сообщения: 22.02.2007 09:15
Maza Faka
Dir /s /b d:\%File%

Автор: KapralBel
Дата сообщения: 22.02.2007 09:16
Maza Faka
А не проще

Код: @Echo Off
Set /p File=Введите имя файла:
PushD F:\Work\Torrent
Dir %File% /s
PopD
Pause
Автор: Smitis
Дата сообщения: 22.02.2007 09:22
Elroir

Цитата:
Литературы как таковой не было и до сих пор нет.

Если кому интересно, какие выходили бумажные книги, имеющих отношение к программированию "батников", вот на вскидку, несколько. Если кому интересно, дома составлю более полный список (и не только по командным файлам, а по написанию сценариев вообще). Все книги я, например, заказывал через интернет (стоимость с доставкой получалась даже меньше чем в магазинах).

Андрей Попов. Командные файла и сценарии Windows Script Host. БХВ-Петербург, 2002. ISBN 5-94157-092-9
Приводятся сведения об основных командах Windows 9x/NT/2000, а также об утилитах пакета Resource Kit. Описывается сервер сценариев WSH. Актуально и для Windows XP/2003/Vista

Джесси Торесс. Скрипты для администратора Windows. Специальный справичник. Издательский дом "Питер", 2002. ISBN 5-318-00488-1, ISBN 1576108813 (eng.)
На большом количестве примеров рассматривается использование сценариев командного процессора, KIXTART и WMI для администрирования Windows и автоматизации работы. Рассматриваются утилиты ScriptIt, AutoIt и др.

Элин Фриш. Windows 2000: команды. Карманный справочник. Москва "Мир" 2003. ISBN 5-03-003466-8, ISBN 0-596-00148-7 (eng.)
Содержит информацию практически о всех командах Windows 2000 и Windows Resource Kit, вводимых в командной строке. Актуально и для Windows XP/2003/Vista.

Есть ещё...
Автор: KapralBel
Дата сообщения: 22.02.2007 09:23
K6
Вызови по каждой команде помощь
IF /?
Автор: igor_andreev
Дата сообщения: 22.02.2007 10:05
Smitis
Первые две книжки у меня и в отсканированном виде есть, могу положить куда-нить. В варезнике . В бумажном - само-собой тоже есть , мы наверное в одних и тех же интернет-магазинах отоваривались. Только вот проку от них, бумажных, мало, не скопировать мышкой примеры никак. В отсканированном виде - PDF и DJVU, тоже не есть гут. Самое удобное - CHM, по VBScript почти все в инете в этом формате, очень удобно копипастить и сразу видеть, что сценарий делает. А так в принципе KapralBel правильно сказал, писать, писать, и еще раз писать батники. Это как машину водить, по книжке не научишься толком, рулить надо. Чем больше рулишь, тем больше опыта.
Автор: KapralBel
Дата сообщения: 22.02.2007 10:08
igor_andreev
Ну по крайней мере - книжки будут выполнять туже функцию, что и сидящий рядом инструктор - Подсказывать
А когда наберешь некоторую базу опыта - тогда и инструктор не нужен
Автор: Elroir
Дата сообщения: 22.02.2007 10:57
Smitis
Я не утверждал, что такой литературы нет
Просто я ей не пользовался. В принципе, (почти) во всех книгах по администрированию Windows, есть раздел про командные файлы.

K6
Позже распишу - сейчас времени нет.

Добавлено:
::decompress.bat
@echo off // отключению показа команд при их запуске
if "%~1"=="" goto help // если не передано имя файла и директория - перейти к метке help
if "%~2"=="" goto help // если не переданa директория - перейти к метке help
if /i "%~x1"==".arj" arj x %1 "-ht%~2" -y // если расширение переданного файла - arj, запустить arj.exe с параметрами переданными командному файлу
if /i "%~x1"==".rar" rar x -y %1 "%~2"\ // если расширение переданного файла - rar, запустить rar.exe с параметрами переданными командному файлу
goto end // перейти к метке end
:help // все, что идет после команды echo, выводится на экран (в данном случае - подсказка использования командного файла)
echo Usage: decompress archive.ext destination_dir
echo archive.ext is the full name (with extension) of the ARJ or RAR arhive
echo destination_dir is the name of the destination directory for extraction
echo Note: arj.exe and rar.exe have to be in one of the PATH directories
:end
Вместо %1 подставляется первый аргумент командной строки, переданный батнику.
Вместо %2 подставляется второй аргумент командной строки, переданный батнику.
Вместо %~x1 подставляется расширению файла, название которого подставляется в %1.

Автор: Maza Faka
Дата сообщения: 22.02.2007 13:19
igor_andreev

Цитата:
Первые две книжки у меня и в отсканированном виде есть, могу положить куда-нить

ПЛЗ залей куда нибудь...
Автор: igor_andreev
Дата сообщения: 22.02.2007 13:23
Maza Faka
На следующей неделе уже только
Автор: Tipulatoid
Дата сообщения: 22.02.2007 15:57

Цитата:
ПЛЗ залей куда нибудь...

И в шапку ссылки сразу же !!! Всех С Днем Защитника
Автор: igor_andreev
Дата сообщения: 22.02.2007 23:19

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

В шапку можно наверно, вот этот файл поместить:
ftp://garbo.uwasa.fi/pc/link/tscmd.zip
В архиве есть файлик 1CMDFAQ.TXT, это "Useful NT/2000/XP script tricks and tips" от Timo Salmi, с конца 2003 года периодически им дополняются, в основном по вопросам, прошедшим в ньюс-конференциях. Когда раз в месяц обновит, когда раз в неделю, не забрасывает это дело в общем. Сегодня вот например последнее обновление файла показывает 02/16/2007 09:26, неделю назад. Смахивает на то, что у нас в шапке "Готовые решения и частые вопросы:". Единственное, кому-то возможно покажется недостатком - на английском языке.
Цитата:
1} How to get today's date elements into environment variables?
2} On Windows XP how do you stop the script files from closing?
3} How can I customize the Command Prompt Window with script commands?
4} How can I test is it on MSDOS/Win3..9x/Me or NT/2000/XP?
5} How do I get a fully qualified path name of my script?
6} How does one get yesterday's date?
7} How can I test if two files agree in size and datetime stamp?
8} How do I find all the files made at of after YYYYMMDD HHMM?
... и т.д.

Ну и обновлять этот tscmd.zip как-нибудь так:

Код: wget.exe -N -nd -v ftp://garbo.uwasa.fi/pc/link/tscmd.zip
Автор: Elroir
Дата сообщения: 22.02.2007 23:24
igor_andreev
В который раз уже даешь очень интересные ссылки! Спасибо!
Автор: ViSiToR
Дата сообщения: 23.02.2007 01:56
Скажите, как мне из батника запустить окно “Выполнить”? (которое вызывается по нажатию Win + R).

И вообще, есть ли где то список подобных команд для запуска системных ресурсов?
Я лично сам некоторые могу собрать, но мне хотелось бы узнать, может уже существует подобный список? или как его полноценно получить? (пусть даже для получения списка будет немного vbs задействован ).
Автор: igor_andreev
Дата сообщения: 23.02.2007 02:53
ViSiToR

Цитата:
как мне из батника запустить окно “Выполнить”?



Код:
ECHO CreateObject("Shell.Application").FileRun>"%TEMP%\rundlg.vbs"
CSCRIPT.EXE "%TEMP%\rundlg.vbs"
Автор: ViSiToR
Дата сообщения: 23.02.2007 04:19
igor_andreev

Цитата:
ECHO CreateObject...

Спасибо, но мне нужна именно команда для бата (для ком. строки)...
Например, чтобы запустить настройки клавиатуры, нужно запускать так:


Код: main.cpl @1
Автор: Tipulatoid
Дата сообщения: 23.02.2007 06:59
ViSiToR

Цитата:
И вообще, есть ли где то список подобных команд для запуска системных ресурсов?

Вот интересная ссылка. Правда описание там ижет по Win98 и не все в XP работает

Добавлено:
Раз уж начали ссылками кидаться, то вот еще хороший сайт по теме
Автор: ViSiToR
Дата сообщения: 23.02.2007 07:17
Tipulatoid

Цитата:
Вот интересная ссылка

Во, это уже интереснее, спасибо, но как на зло именно того что мне нужно там нету
Автор: Tipulatoid
Дата сообщения: 23.02.2007 07:40
ViSiToR

Цитата:
это уже интереснее

А вот еще интереснее. Справочник по всем функциям Rundll32 и по всем версиям Винды. Но и там, похоже того что нужно нет.

Автор: ViSiToR
Дата сообщения: 23.02.2007 07:55
Tipulatoid

Цитата:
А вот еще интереснее

Туда я полез в первую очередь ...

И ещё, как бы запустить свойства определённого файла? т.е если правой кнопкой мышки нажать на файл, и выбрать пункт “Свойства” - вот это окно я хотел бы запустить (указывая заранее файл и путь к нему) - тут не совсем важно какими средствами, но как мне кажется, это ещё сложнее чем просто запустить окно “Выполнить”
Автор: igor_andreev
Дата сообщения: 23.02.2007 13:07
ViSiToR
Их наверно и не запустить никак одной строчкой, эти диалоговые окна. А то чего тогда программисты изгаляются, тут вон диалог Run вызывают http://www.codeproject.com/shell/runfiledlg.asp
а здесь http://www.maddogsw.com/cmdutils/ есть PropsFor.exe, которая показывает окно Properties
Автор: ViSiToR
Дата сообщения: 23.02.2007 20:57
igor_andreev

Цитата:
Их наверно и не запустить никак одной строчкой

Если речь про свойства файла, то мне неважно, хоть десетью строчками, мне просто необходимо узнать как их запускать...


Цитата:
тут вон диалог Run вызывают

Я так понял это на C++, но нужно командным методом.


Цитата:
а здесь http://www.maddogsw.com/cmdutils/ есть PropsFor.exe, которая показывает окно Properties

Хм, интересны набор утилиток, и при чем с открытым кодом.
Спасибо, будем смотреть.
Автор: krukoff
Дата сообщения: 23.02.2007 23:47
To All

Может и говорили раньше об этом...

Нужен "батник" для удаления (без помещения в карзину) файлов по маске. Для удаления временных файлов. Подскажите решение.
Автор: Elroir
Дата сообщения: 23.02.2007 23:57
krukoff

Код:
@echo off
del /s /q *.tmp
Автор: Maza Faka
Дата сообщения: 24.02.2007 05:51
Нужен батник, который бы сканировал каталог, скажем "D:\Test", и создавал в каждой папке текстовый файл с именем каталога, в котором находится текстовый файл, скажем в папке "D:\Test\Setting" создаётся файл "Setting.txt" и так для всех папок...
Автор: yurkesha
Дата сообщения: 24.02.2007 11:45

Код: @echo off
FOR /r %1 %%i IN (.) DO DIR "%%i" /B /A:-D>>"%%i\%%~ni.txt"
Автор: Elroir
Дата сообщения: 24.02.2007 14:41
Maza Faka
Нужно, что-бы создавался пустой текст-файл или что-бы там был листинг файлов этой директории (как сделал yurkesha)?
Автор: yurkesha
Дата сообщения: 24.02.2007 15:47
Elroir - какая извращенная задача
В такой интерпретации я даже не рассматривал... Модификация элементарна:
Код: @echo off
FOR /r %1 %%i IN (.) DO ECHO. >"%%i\%%~ni.txt"
Автор: Elroir
Дата сообщения: 24.02.2007 16:21
yurkesha

Цитата:
какая извращенная задача

Согласен
У тебя некорректно создаются названия текст-файлов - если в названии директории есть точка (одна или несколько), то у тебя создастся файл с именем директории до последней точки. Изменение, конечно, небольшое, но все-таки.

Код:
@echo off
FOR /r %1 %%i IN (.) DO ECHO. >"%%i\%%~nxi.txt"
Автор: yurkesha
Дата сообщения: 24.02.2007 19:16
Абсолютно верное изменение! Недоглядел...
Что-то Maza Faka молчит - наверное задача на самом деле еще извращенней
Автор: K6
Дата сообщения: 25.02.2007 05:36
Elroir
У меня вопрос что означает ~ в моём батнике, и что будет если не верное задан параметр?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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