#windows #scripting #batch-file
#Windows #создание сценариев #пакетный файл
Вопрос:
В настоящее время я разрабатываю сайт для не очень разбирающегося в компьютерах парня, который хочет сам отредактировать сайт с помощью One.com Ужасный WebCreator.
Меня устраивает, однако WebCreator имеет много недостатков, самым раздражающим из которых является то, что он удаляет DOCTYPE при сохранении страницы. WebCreator не позволяет редактировать php- или shtml-файлы, поэтому мне приходится добавлять типы документов после того, как мой друг сохранит страницу.
Итак, что я в основном хочу сделать, это написать пакетный скрипт, который пользователь может дважды щелкнуть на своем компьютере с Windows. Этот сценарий моей мечты добавил бы DOCTYPE в начало документа и сохранил его.
Возможно ли это?
Ответ №1:
Я так не думаю, не исключительно с помощью пакетного скрипта.
Одна вещь, которую вы могли бы сделать, это:
- загрузите файл
- отредактируйте его автоматическим способом, чтобы добавить нужную строку
- загрузите файл.
Пакет не включает возможности 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 — хорошая идея.