![]() |
Кодинг в batch
Заранее сори если не там где нужно разместил тему, просто не могу определить где ее надо постить ;)
Итак.. кто-нить знает, где взять полный список команд, которые используются в *.bat файлах для скриптов? Или может какие-то хелпы по созданию скриптов? |
Недавно себе в тхт закинул:
Цитата:
=========================================== Также посети вот эту ветку на форуме... _http://forum.madalf.ru/index.php?showtopic=5904&st=0 |
Псих
а команды DOS'a уже не момним? Все основно на них... |
Псих
В командной строке: help - выводит список команд; help <имя команды> - выводит справку по указанной команде. |
Цитата:
Цитата:
CHEST Спасибо! |
Вот ща ломаю голову. хочу зделать маил чеккер. Чтобы просто проверял, есть ли новые письма.
С телнетом и авторизацией разобрался, а вот как операцию чека провести, подскажите? |
Псих
А зачем телнетом, есть нормальные консольные проги для проверки мыла, если уж тебе батником охота сделать. http://imho.ws/showthread.php?t=75962 |
Спасибо, мне даже не существенно важно, я просто хочу поупражняться в кодинге на бат, вот и все!
|
Ребята, можете посвятить подробно, как через бат создать меню с оператором case.
И какие есть ключи для операторов? |
Как можн прописать ,чтобы файл копировал сам себя но с другим именем!!
|
Код:
copy %~nx0 copy%~nx0 %0 - имя текущего выполняемого cmd- или bat-файла, а дальше: Код:
Допускается применение следующих синтаксических конструкций: |
Цитата:
В XP для меню можно пользоваться set /p Код:
@ECHO OFF http://support.microsoft.com/default...;EN-US;Q77457& |
Вот еще вопрос.
у меня есть 10 ярлыков ссылок там 111.url и т.д как мне с помощью бат загнать адреса этих *.url в тхт файл? |
Псих
*.url сам по себе txt-файл и работать с ним в батнике надо, как с обычным *.txt. Мышкой перетащи *.url в блокнот, там по идее будет что-нибудь вроде Цитата:
Приблизительно так Код:
FOR %%A IN (*.URL) DO ( http://gearbox.maem.umr.edu/batch/f_...-Freeware.html |
Спасибо за линк. Я просто упражняюсь в бат кодинге.
Слушай.. а можешь подробно расписать, что ты написал тут Цитата:
|
Подробней и понятней, чем Майкрософт во встроенном хэлпе все равно не получится. В командной строке набери FOR /? . Выполнение указанной команды для каждого файла набора.
То есть FOR %%A IN (*.URL) DO - значит для каждого файла с расширением *.URL в текущей папке сделать ... И после DO пишешь команду, которую хочешь применить. Можно написать: FOR %%A IN (*.URL) DO ECHO "%%A">>MYURL.TXT Все имена файлов *.URL будут записаны в файл MYURL.TXT Можно написать: FOR %%A IN (*.URL) DO TYPE "%%A">>MYURL.TXT Все содержимое файлов *.URL будет записано в файл MYURL.TXT Можно написать: FOR %%A IN (*.URL) DO FIND "URL=" "%%A">>MYURL.TXT Все найденные ссылки в файлах *.URL будут записаны в файл MYURL.TXT. Или точнее, все строчки, в которых есть сочетание "URL=" будут записаны в файл MYURL.TXT. Только так команда FIND еще добавит названия файлов до кучи в MYURL.TXT, что не просили. Посему я и написал MORE<"%%A"|FIND "URL=", то есть вывод содержимого каждого файла *.URL в STDOUT и поиск командой FIND там. Если пользоваться той утилкой, geturls.exe, то батник будет выглядеть: Код:
@ECHO OFF |
Программирование .BATников MS-Dos
Господа, возникла необходимость состряпать БАТник, который будет запускаться при каждом запуске системы.
Задача БАТника: 1. Сравнить 2 файла в разных папках Если файлы одинаковые, то перейти к пункту 3. Если файлы отличаются: Скопировать новый файл в папку бекапа с новым именем (формат имени файла: текущие <ДАТАВРЕМЯ>, расширение остается прежним. 2. Анализ файлов в папке бекапа и удаления самых устаревших по дате изменения/создания файлов, так чтобы общее числол файлов в папке бекапа не превышало 60 штук! 3.Конец выполнения БАТ-Файла! Жду предложений. Нужно делать это именно БАТ-файлом, вариант с установкой программ бекаперов не подходит! |
Таже вопросик..
Делаются бекапы. Например: с:\BackUp\.... Нужно, чтобы создавалась директория "2006" - год, а в ней "03" - месяц. Т.е. чтобы каждый месяц архивы начинали складываться в новую папку |
Цитата:
Код:
fc File.1 File.2 Цитата:
Код:
If ERRORLEVEL 1 Copy File.1 x:\Backup_folder\File%DATE%.1
Цитата:
|
может тебе эта статья поможет _http://www.mista.ru/articles1c/tips.htm
P.S. это не реклама, просто недавно ещё раз перчитывал, вот и вспомнил про неё |
Цитата:
Wiedemann http://imho.ws/showpost.php?p=882716 Moderator: А чегой то тема про бэтчи лежит в "Интернете" а не в "програмировании" ? |
Цитата:
|
MS-DOS
Создать BAT-файл.
"Загружено операционная система. Отформатировать диск А как системный. Текщим является дисковод А. Посмотреть содержание диска А. Скопировать все файлы с расширением PAS и BAK с диска С в корневой каталог диска А. Все файлы на диске А, не имеющие расширения ВАК, удалить. Восстановить на диске А удаленные файлы. На диске А организовать файловую структуру следующим образом: все файлы с расширением PAS переместить в подкаталог PAS, а файлы с расширением ВАК в подкаталог ВАК корневого каталога диска А." Все файлы на диске А, не имеющие расширения ВАК, удалить. - Как реализовать??? |
|
А как включить через .bat подключение по локальной сети? Пробовал сделать через ярлык по типу start "путь к ярлыку" , но что-то так не работает.
|
Warchief
А подробнее можно? Подключение сетевых дисков или вход в домен или что? |
Borland
Да нет просто включение сетевого подключения. Вместо того чтобы идти в "сетевые подключения" и там кликать по иконке, хотел сделать bat файл. |
Цитата:
Если второе - "NET USE ?" с консоли. |
Warchief
вот это: _http://support.microsoft.com/kb/311272/ru прям для тебя |
Привет. :beer: Народ с чего начать? :help: Раньше не программировал, думаю начать с Батников.
Что нужно прочитать, какой синтаксис написания |
DIZEL777 для начала можно прочитать эту тему с начала, там приведены команды которые можно использовать в bat файлах, а вообще "батники" это не то с чего нужно начинать заниматься программирование.
Если нужно именно программирование, то тогда уж начинать так сказать "классически" с паскаля или Delphi (или даже с basic-ка). По ним и книжек можно найти и вообще море информации. По "программированию в bat" ты так много информации не найдешь. |
Собственно вопрос.
Нужно из %1 выделить имя файла с расширением. %~nx1 не работает в силу ряда причин. сделал так: set i=%1 set TEMP=C:\TEMP copy %1 %TEMP% cd C:\TEMP if exist etoono.txt del etoono.txt SET B="" dir %1 /B>>etoono.txt for /f "tokens=* delims=." %%A in (etoono.txt) do set B=%%A if exist etoono.txt del etoono.txt Но это криво. Хочется прямо. Какие будут предложения? |
Цитата:
Только что проверил - у меня всё прекрасно работает... Да, нельзя применять оператор ~nx к переменной окружения, установленной командой set внутри того же пакетного файла - он получит на входе пустую строку, что с его точки зрения недопустимо. Да, команда echo %i в вышеприведённом пакетном файле выдаст пустую строку - это какое-то фундаментальное ограничение командного процессора. Но какие причины мешают использовать в командах пакетного файла непосредственно %~nx1 в качестве искомого имени с расширением? :confused: |
Согласен, на обычных батниках %~nx1 работает замечательно. Но есть такая прога Pview_X5, которая свои настройки хранит в файле с расширением EXT. Но на деле это простой батник. И именно его мне нада править. И именно в нем расширенный синтаксис типа %~nx1 не работает. Почему не работает я не знаю:(
сама прога |
Цитата:
echo %~nx1>>file.ext выдаст в file.ext как раз-таки имя файла с расширением. Если структура file.ext (фактически простой текстовый файл) известна, то ничто не мешает сформировать его при помощи команд типа вышеприведённой перед запуском проги... Если уж совсем невмоготу, с тем же успехом практически всё содержимое приведённого командного файла можно заменить на вызов одного внешнего cmd-шника типа call set_b %1, в котором будет всего одна команда set b=%~nx1 Эффект будет ровно такой же - переменная окружения B будет установлена в требуемое значение. добавлено через 2 минуты Цитата:
|
а кто знает команду, которое автоматически закрывает ту или иную программу.
например подтип такого close.bat --- CloseRun mspaint.exe или tskill mspaint.exe |
помогите написать "батник"
прошу помощи в написании батника, задача такова:
есть 5 файлов, file, file_1, file_2,file_3, file_4 нужно в результате обработки скрипта, получать вот такое вот переименование file > file_1 file_1> file_2 file_2 > file_3 file_3 > file_4 file_4 > file грубо говоря это цикл, мне нужно зациклить переименование файлов, но в одно выполнение скрипта, один круг объясню зачем: настроил инкрементальное архивирование, хотел бы еще иметь разнос по времени в один час. на perl-е, либо php, написал бы и сам, а вот виндовс-консоль побороть не смог, помогить кто чем может wmi скрипт тоже подойдет. |
cd "там где лежат файлы"
move file_4 file_tmp if errorlevel 1 goto ErrorMove move file_3 file_4 if errorlevel 1 goto ErrorMove move file_2 file_3 if errorlevel 1 goto ErrorMove move file_1 file_2 if errorlevel 1 goto ErrorMove move file file_1 if errorlevel 1 goto ErrorMove move file_tmp file if errorlevel 1 goto ErrorMove exit :ErrorMove ... действия при ошибке перемещения.... |
Примерно так:
renamer.cmd Код:
@echo off |
Часовой пояс GMT +4, время: 23:05. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.