2010-01-13 2 views
10

У меня есть ситуация, когда у меня есть несколько команд cygwin, которые я хочу запустить в командной строке Windows, например.Автоматизация команд cygwin в командной строке Windows (и, в конечном счете, в MsBuild)

chmod 777 /home/administrator/* 

В настоящее время я должен вручную ввести в cygwin.bat, введите приведенную выше команду в Cygwin. Мне было интересно, возможно ли (и если да, как) автоматизировать эти шаги в командной строке Windows?

В конечном счете, я хочу, чтобы все вышеупомянутые команды были в MsBuild для достижения полной автоматизации, если это возможно.

Спасибо.

ответ

21

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

пакетник-для-cygwin.bat будет содержать

@echo off 
C:\cygwin\bin\bash -li /cygdrive/c/<path-to-shell-script-location>/chmod-cmd.sh 

А потом, в chmod-cmd.sh вы можете просто иметь команду.

chmod 777 /home/administrator/* 

С такой настройкой вы также можете использовать его в MSBuild. Я использую его в скриптах Ant, и это работает для меня.

+1

Почему mntty.exe не используется? Я хочу вызвать команды sftp, см. Http://www.openbsd.org/cgi-bin/man.cgi?query=sftp&sektion=1 –