2008-09-28 3 views
6

У кого-нибудь были какие-то последние требования к программированию автоматических задач DOS для пакетного стиля в окне Windows?Обновление DOS Пакетные файлы для Windows

У меня есть автоматизация, и я не хочу сидеть и писать кучу .BAT-файлов в «Блокноте», если есть лучший способ автоматизации этих задач: в основном перемещение файлов в определенные сроки и время , а также запуск приложений Windows до и после перемещения файлов.

Я думаю по линиям IDE, которые имеют все доступные команды DOS для редактора с правильной синтаксической проверкой параметров. Есть ли что-нибудь в этом роде, или я должен решать эту проблему с чем-то другим, кроме .BAT-файлов?

ответ

6

Для простой автоматизации Windows за пределами файлов BAT, VBScript и Powershell, возможно, стоит посмотреть. Если вам интересно, с чего начать сначала, VBScript + Windows Task Scheduler станет первым местом, где я начну. Копирование файла с VBS может быть столь же просто, как:

Dim objFSO 

Set objFSO = CreateObject ("Scripting.FileSystemObject") 
If objFSO.FileExists("C:\source\your_file.txt") Then 
    objFSO.CopyFile "C:\source\your_file.txt", "C:\destination\your_file.txt" 
EndIf 
+0

Оба варианта могут выходить далеко за рамки простой автоматизации ... – Joey 2010-11-12 01:01:03

0

VBScript/WSH на самом деле то, что Microsoft хочет использовать - к сожалению, я написал несколько из них, и это не нравится -

Я полностью согласен с Mikael - если вы знаете, какие системы будут запускать скрипты, и вы можете установить интерпретаторы на них, перейдите на язык сценариев, например Python или Ruby.

Конечно, это зависит от того, какой тип автоматизации вам нужно сделать - если вы возились с настройками ОС или Active Directory, переходите к WSH - но для вашего среднего содержания файлов используйте Python или Ru по

1

Я бы порекомендовал Python над Ruby как язык сценариев Windows. Windows-поддержка Python намного более зрелая, чем Ruby's.

4

Определенно PowerShell. Это новая оболочка Microsoft с множеством интересных возможностей и большой расширяемостью.

0

Хотя это не совсем то, что вы ищете, я выбрал бы для Perl. Не имея графического интерфейса, Perl позволит вам быстро выполнить свою задачу, и функции «клей» будут полезны в будущих задачах, которые могут возникнуть у вас. Кроме того, если в один прекрасный день вам придется делать подобные вещи под другой ОС (это не Windows), PowerShell может быть недоступен, и ваши знания в Perl пригодится.

Кроме этого - ближайший брат Perl под Windows, безусловно, является PowerShell.

2

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

Я не уверен, что «Перемещение файлов под определенным условием» есть, но я как-то написал Robocopy Controller script (используя AutoIt), через который вы можете настроить сценарий копирования, который должен быть заполнен на Robocopy.exe («надежная копия файла») - программа копирования, которая может быть загружена из Microsoft и по умолчанию включена в Windows Vista для замены xcopy). Может быть, этот бесплатный скрипт может помочь.

+0

На самом деле он не компилируется, он просто добавляет файл AutoIt в .exe, как и некоторые программы сжатия. – 2008-09-29 20:09:25