2013-10-08 4 views
2

Я хотел бы получить пакетную обработку файлов для Windows, но у меня нет опыта в этой области. Если вы можете указать мне в общем направлении, было бы весьма полезно.Основы пакетной обработки: с чего начать?

Другие потенциальные вопросы:

  • Какие риски можно избежать с помощью пакетной обработки?
  • Какова основная структура командного файла?
  • Существуют ли примеры базовых типов пакетных файлов, где я могу привести в действие?
  • Каковы основные типы командных команд?
+0

Я сделал 5-минутный учебник в свое свободное время, heres ссылка: http://www.instructables.com/id/Build-a-Batch-Calculator-Advanced-Calculator-v08/ – Monacraft

+0

Будет ли это проверено ! –

+0

Не знаете, почему это будет считаться «вне темы». Все комментарии были очень полезными. Это форум для совместной работы и группового обучения. –

ответ

3

Бах - очень методичный и упорядоченный язык программирования, который сильно зависит от внутренних команд CMD или командной строки Windows, с которыми вы, скорее всего, знакомы. Основное использование Batch из моего личного опыта - использовать скрипты для автоматизации мирских задач, которые нужно запускать каждый раз, когда что-то происходит, например, при запуске пользователя.

Бьюсь об заклад, вы можете легко создать базовый скрипт, просто купите, узнав, что a) каждый файл bactch в идеале должен/нужен, и b), признав, что по умолчанию командный файл будет читать сверху вниз, выполняя одну команду после предыдущий заканчивается или терпит неудачу.

В ответ на конкретные вопросы:

  • риски для пакетной обработки не реально, существующих, если вы что-то скрипт правильно и проверить его каждый шаг пути. - Я бы сказал, что любой может легко увидеть ваш код, но сторонние инструменты будут конвертировать файлы в .exe без проблем.
  • Я привел некоторые примеры кодов с несколькими пояснениями в нижней части этого ответа.
  • Снова посмотрим на нижнюю часть моего ответа на некоторые основные сценарии, которые будут работать на вашем компьютере (при условии, что это версия Windows).
  • Как я уже упоминал выше, любая команда, которую вы можете ввести в окно CMD, будет работать в пакетном файле, поэтому вы можете использовать command /? в окне CMD для проверки параметров и способа записи ваших команд. Например, введите в CMD-окно ipconfig /?.

Базовая структура Batch File (Сохранить как test.bat)

@echo off 
title Test Batch Script 
color a 
echo. 
ipconfig /all 
echo. 
echo Above is your IP information. 
pause>nul 
exit 

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

title - Это само собой разумеющееся, эта команда называет окно CMD по вашему выбору.

цвет xx - цвет xx меняет цвет фона и текста, первым значением является текст, а второй - фон окна. - Используйте color /? в окне CMD, чтобы найти все возможные комбинации и выбрать один из них для себя, например color 1f

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

echo - Это напечатает строку текста, которую вы пытаетесь сказать, например echo hello отобразит текст приветствия в окне.

pause> nul - Это приведет к приостановке сценария партии от перехода к следующей команде в серии. - однако только с помощью команды pause отобразится текст «Нажмите любую клавишу, чтобы продолжить ...» с помощью pause>nul удалит это сообщение. Не важно, но личное предпочтение действительно.

exit - Exit, конечно же, закроет вашу программу, однако не обязательно, когда командный скриптинг будет закрыт, когда больше не останется никаких команд для запуска, при условии, что пользовательский ввод не требуется.

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

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

Познакомьтесь с моим примером и замените ipconfig /all различными/несколькими командами, чтобы использовать их в своих сценариях.

+0

SamN: Очень хорошо организован. Оценил! –

1

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

Основная структура пакетного файла изменяется довольно часто. Когда вы начинаете, вы будете в основном полагаться на структуры контуров goto. Если ваш скрипт начнется с серии команд (обычно первый из них - @echo off), а затем делает скрипт goto различными частями вашей программы.

Позже вы будете полагаться на for циклы и пакетные звонки.

Чтобы найти половину достойного пакетного приложения, я рекомендую вам смотреть онлайн, поскольку есть некоторые достопримечательности, которые могут содержать немало.

Для основных учебных пособий я рекомендую вам начать с того, что простые пакетные приложения выполняют очень простые вещи, такие как count.

Надеюсь, это помогло, Мона.

P.S. Вот некоторые недавно я загрузил некоторые из моих старых пакетных приложений на Instructables, вот ссылки:

+0

действительно, так что это не повредило бы случайный запуск формата (вставьте здесь букву диска): когда вы этого не хотели? – nephi12

1

перейти к http://www.dostips.com/
список основных команд :
echo hello world :: напишет привет мир на экране
echo% time% :: будет записывать значение переменной времени на экран
cd dir :: войдет в каталог с именем dir
Тип file.txt :: напечатает содержимое файла на экране
dir :: will эхо-содержимое текущего каталога на экран
cd ..:: будет goto родительский каталог
help :: покажет список команд
set :: покажет все текущие переменные
, если «% var%» EQU «привет» (эхо) :: будет эхо, если varible var установлен на hello
set var = hello :: будет устанавливать var равным hello
set/p var = как вы: :: получите вход от пользователя и выполните его в var
для/l %% i in (1,1,5) do echo %% i :: будет отображать от 1 до 5 на экране
ping host.com :: проверит, можете ли вы подключиться к host.con и diplay некоторые результаты.
copy a.txt dir \ dir2 \ b.txt :: скопирует a.txt во второй аргумент.
move a.txt .. \ a.txt :: переместит a.txt в родительский каталог.
ren a.txt b.pdf :: переименует a.txt в b.pdf
команда /? :: отобразит справку по команде

вот некоторые примеры файлов, которые я сделал: (пустые строки значения)
file1:
SETLOCAL enabledelayedexpansion
набор NLM =^



набор NL = ^^^% NLM %% NLM% ^% NLM %% NLM%

для/f "delims =" %% i in (a.txt) установить a =! A !! nl! %% i

эхо% в%


file2: (каждый для представляет собой одну строку)

@echo от & SETLOCAL enabledelayedexpansion
, если '% 1' == '' (эхо отсутствует параметр & пауза> NUL & exit/b)
for/l %% i in (% 1, -1,0) do for/l %% j in (%% i, 1,% 1) действительно установить %% i =! %% я! для/l %% i in (0,1,% 1) do (for/l %% j in (0,1, %% i) do set nums =! Nums! %% j) & echo! %% я !! Nums! & set nums =
for/l %% i in (% 1, -1,0) do (for/l %% j in (0,1, %% i) do set nums =! Nums! %% j) & echo! %% i !! nums! & набор НУМС =

file3:
SETLOCAL enabledelayedexpansion
для/ф "delims =" %% я в (a.txt) делать множество а = %% я & набор а = а: "" =! & эхо A >> new.txt

file4:! (Для одной строки)

@echo от
для/d %% я в (*) сделать для/ж %% дж ("%% i") do (dir "%% i"/b | для/f %% k in ('find "%% j"/v') do @dir "%% k"/b/s | find "thumbs.db"/v)




напишите мне, если у вас есть вопросы. Я знаю пакет лучше, чем любой другой язык, и люблю его. мой адрес электронной почты: [email protected]

получайте удовольствие !!!;)

Смежные вопросы