Как создать пакетный скрипт, который добавляет строку кода к документу на FTP-сервере?

#windows #scripting #batch-file

#Windows #создание сценариев #пакетный файл

Вопрос:

В настоящее время я разрабатываю сайт для не очень разбирающегося в компьютерах парня, который хочет сам отредактировать сайт с помощью One.com Ужасный WebCreator.

Меня устраивает, однако WebCreator имеет много недостатков, самым раздражающим из которых является то, что он удаляет DOCTYPE при сохранении страницы. WebCreator не позволяет редактировать php- или shtml-файлы, поэтому мне приходится добавлять типы документов после того, как мой друг сохранит страницу.

Итак, что я в основном хочу сделать, это написать пакетный скрипт, который пользователь может дважды щелкнуть на своем компьютере с Windows. Этот сценарий моей мечты добавил бы DOCTYPE в начало документа и сохранил его.

Возможно ли это?

Ответ №1:

Я так не думаю, не исключительно с помощью пакетного скрипта.

Одна вещь, которую вы могли бы сделать, это:

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

Пакет не включает возможности FTP, поэтому … одного пакета было бы недостаточно. Предположим, что у вас есть программа Ftpdriver, что-то, что вы могли бы написать, тогда это не было бы сложно.

Что-то вроде этого:

  FtpDriver -download ftp://woo/hoo.htm   -password xxxxx  -local c:temphoo.htm
 echo DOCTYPE  > c:tempextra.line.htm
 copy c:tempextra.line.htm   c:temphoo.htm c:temphoo.new.htm
 FtpDriver -upload ftp://woo/hoo.htm   -password xxxxx  -local c:temphoo.new.htm
  

Это старая программа FtpDriver, которую я использую для подобных целей:
http://cheeso.members.winisp.net/srcview.aspx?dir=ftp

С тех пор, как был написан этот инструмент, FtpWebRequest был добавлен в .NET Framework; если бы вы написали этот инструмент сейчас, вы бы использовали это. Но старая программа, на которую я ссылался, все еще работает.

Зачем вам нужна программа: Встроенный FTP для Windows не поддерживается сценариями. Это интерактивная с пользователем консольная программа, что означает, что вы должны вводить в нее что-то, чтобы заставить ее загружать. Невозможно автоматизировать с cmd.exe программы или команды, подобные echo. Итак, вам нужна эта внешняя возможность FTP.

Если вы хотите отказаться от пакетной обработки, то Powershell — хорошая идея.