Обновление пакетных файлов DOS для Windows - PullRequest
6 голосов
/ 29 сентября 2008

Кто-нибудь в последнее время предъявлял какие-либо требования к программированию автоматизированных задач в стиле DOS Batch для Windows?

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

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

Ответы [ 10 ]

6 голосов
/ 29 сентября 2008

Для простой автоматизации Windows, кроме файлов BAT, VBScript и Powershell может стоить посмотреть. Если вам интересно, с чего начать, VBScript + планировщик задач Windows будет первым местом, с которого я начну. Копировать файл с 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
4 голосов
/ 29 сентября 2008

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

3 голосов
/ 29 сентября 2008

Попробуйте Python.

2 голосов
/ 29 сентября 2008

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

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

2 голосов
/ 29 сентября 2008

Windows 98SE и выше имеют встроенный Windows Script Host, который позволяет вам использовать VBScript для автоматизации задач (см., Например, http://www.windowsdevcenter.com/pub/a/oreilly/windows/news/vbscriptpr_0201.html).

1 голос
/ 29 сентября 2008

Здесь есть IDE для Powershell:

PowerGUI

1 голос
/ 29 сентября 2008

Я лично использую Python или PowerShell для такого рода задач.

1 голос
/ 29 сентября 2008

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

0 голосов
/ 29 сентября 2008

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

Кроме этого, ближайшим братом Perl в Windows является PowerShell.

0 голосов
/ 29 сентября 2008

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

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

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

...