Разное

Поиск файла по содержимому winscp: текстовый поиск по удаленным файлам

Содержание

Команды веб-разработчика для WinSCP (обновляемые). Павел А. Сафронов

Список команд, которые будет полезно иметь под рукой в WinSCP.

Работа с файлами в WinSCP через SSH




Выполняемая операция Команда
Удаление файлов без подтверждения rm -rd «!»
Сравнение файлов cmd /c fc «!» «!^!» | more && pause
Определение размера папки du -sh «!»

Работа с архивами в WinSCP через SSH





  Выполняемая операция Команда
ZIP Архивация zip «!?имя_папки?archive.zip!» -r «!»
Разархивация unzip «!» -d «!?каталог?.!»
TAR Архивация tar -cz  -f «!?имя_архива?archive.tgz!» !&
Разархивация tar -xz —directory=»!?каталог?.!» -f «!»

Управление правами в WinSCP через SSH



Выполняемая операция Команда
Разрешить запись файлов и папок find ‘!’ \( -type d -exec chmod -v 755 ‘{}’ \; -o -type f -exec chmod -v 644 ‘{}’ \; \
Запретить запись файлов и папок find ‘!’ \( -type d -exec chmod -v 555 ‘{}’ \; -o -type f -exec chmod -v 444 ‘{}’ \; \)

Печать файлов в WinSCP через SSH


Выполняемая операция Команда
Печать файла через Блокнот notepad.exe /p «!»

Поиск по файлам в WinSCP через SSH



Выполняемая операция Команда
Поиск grep «!?поиск_по_шаблону?!» !&
Поиск файла по части имени find «!?каталог?.!» -name ‘»!?часть_имени_файла?example.txt!»‘

Как найти файл по содержимому

Привет, друзья. В этой публикации рассмотрим такой вопрос: как найти файл по содержимому. Т.е. по каким-то отдельным ключевым словам или словосочетаниям. Если вам нужно найти на своём компьютере какой-то документ или текстовый файл, при этом вы не помните его название, но вам чётко врезались в память отдельные слова или фразы с этого документа, вы найдёте этот документ. Правда, поиск в проводнике Windows для этих целей не годится, его лучше использовать только для поиска данных по ключевым фразам в названиях файлов. Для поиска по текстовому содержимому файлов необходимо прибегнуть к различным сторонним программам. И мы рассмотрим несколько таких — Total Commander, Everything, Archivarius 3000.

Как найти файл по содержимому

***

Друзья, к рассмотрению темы, как найти файл по содержимому, меня подтолкнула просьба о помощи одного читателя сайта:

Здравствуйте, админ. Проблема такая: срочно нужно найти файл по его содержимому среди целой кучи других похожих файлов, находящихся на жёстком диске моего компьютера. У меня на диске D находится много папок с файлами, и среди них есть текстовый файл с решением одной математической задачи. Но я помню только часть исходных данных y0= (4*2-22)/4=1, более ничего не помню. Расширение файла тоже не помню, это может быть «.txt», «.doc», «.xlsx», «.ttf» и даже «.phtml» или «.php3». Пробовал применить программу Multi Text Finder, но она ничего не нашла.

Программа Multi Text Finder, друзья, с виду вроде бы серьёзная, в ней можно выбирать типы документов для поиска, ключевые слова для поиска по содержимому документов, можно использовать маски поиска. Но, увы, это программа совершено бесполезна, найти файлы, содержащие текст, она не может. Возможно, в какой-то части случаев она и работает, но мой тест показал её полную непригодность. Я указал место поиска, ввёл ключевое слово, запустил поиск. Но поиск ничего не обнаружил.

Хотя по указанному пути документ не то, что с ключевым словом внутри, с ключевым словом в названии есть.

Увы, так бывает. Эту программу мы, друзья, отправим в топку. И давайте посмотрим на эффективные программы, которые реально помогут нам найти нужный файл, содержащий текст, какой мы помним.


Примечание: друзья, проводник Windows не ищет файлы по их внутреннему содержимому, но у него есть иные критерии поиска, с помощью которых вы можете сузить область поиска нужного вам файла. Как работать с поиском в системном проводнике, смотрите в статье «Как найти файл на компьютере».


Total Commander

Поиск файлов по ключевым словам в их тексте предусматривает функциональный файловый менеджер Total Commander. Эта программа сможет найти исчезнувший на вашем компьютере файл и по содержащемуся тексту, и по названию, и по расширению, и по дате создания, и по различным атрибутам. Ну и также у Total Commander много прочих интересных возможностей для опытных пользователей, так что если вы никогда не пользовались этим файловым менеджером, решение вашей проблемы может стать идеальным поводом для знакомства с ним и исследования прочих его возможностей.

Как найти файл по содержимому в Total Commander? На его панели инструментов есть кнопка поиска файлов, кликаем её. Или можем использовать горячие клавиши Alt+F7.

В форме поиска выбираем место поиска, можем указать весь раздел диска, на котором предположительно хранится нужный нам файл. И вводим ключевой запрос. Если мы его введём в графу «Искать файлы», поиск будет выполнен по названиям файлов. Если же мы активируем графу «С текстом» и в неё впишем ключевой запрос, то поиск будет выполняться по содержимому файлов. Что, собственно, и нужно нам. Вписываем в графу «С текстом» те слова или фразы, которые мы помним. И жмём «Начать поиск».

И далее по мере выполнения поиска на нижней панели окошка мы получим результаты поиска. И вот нам удалось найти файл, содержащий текст, который мы помним. 

А вот и сам файл.

Чтобы поиск выполнялся быстрее, нужно максимально сузить его область, т.е. указать более точный путь нахождения файла. И тогда процедура поиска займёт меньше времени.

Everything 

Друзья, для поиска файлов на Windows-компьютере есть специальные программы. Одна из них – бесплатная Everything. Очень простая и удобная, может работать обычно с установкой в Windows, и также может работать портативно. Ищет файлы по именам и содержимому, предусматривает расширенный поиск с разными настройками и фильтрами. Программа изначально выполняет индексацию содержимого компьютера, и благодаря этому поиск файлов выполняется мгновенно, гораздо быстрее, чем в проводнике Windows. Но индексация проводится только по именам файлов и, соответственно, мгновенный поиск возможен, если мы вводим ключевое слово в названии документа. Внутреннее содержимое файлов программа не индексирует, и, соответственно, если нам понадобится найти файлы, содержащие текст, придётся подождать, этот процесс может быть небыстрым.

Итак, программа Everything. Дабы искать в ней файлы по названиям, вводим ключевое слово из названия в поле программы в её главном окне.

Если же мы хотим найти файл, содержащий текст, в меню «Поиск» запускаем «Расширенный поиск».

Указываем ключевые слово или фразу. И желательно указать местоположение искомого файла, хотя бы примерное, хотя бы просто раздел диска. Если хотите, можете использовать другие фильтры и настройки расширенного поиска. 

И, вуаля – файл найден.

FileSearchy

Archivarius 3000

И ещё одну программу, друзья, рассмотрим, которая может найти файлы, содержащие текст, какой мы помним – это программа Archivarius 3000. Но это программа максимум-уровня, это суперфункциональный внутрисистемный поисковик файлов, включающий возможность поиска документов по их содержимому. И такой поиск программа выполнят мгновенно за счёт индексации содержимого указанных нами областей компьютера. Это не программа-однодневка, она платная, нужна она не всем, а только тем, кто постоянно работает с документами, у кого на компьютере хранятся большие их базы, и кому принципиально нужна оперативность и эффективность при поиске данных. Archivarius 3000 изначально индексирует указанные нами пути хранения документов, и впоследствии периодически также выполняет индексацию, чтобы в индексе всегда были актуальные сведения.

Механизм поиска у Archivarius 3000 такой, как у поисковых систем: программный поисковик ищет файлы не только с прямым вхождением наших ключевых запросов, но также с изменёнными словоформами, т.е. с разными падежами существительных и прилагательных имён, с разными временами глаголов и прочими морфологическими изменениями. И также при поиске учитывается плотность ключевых слов, а результаты поиска выстраиваются по релевантности. Друзья, программа очень серьёзная, у неё настраиваемый механизм индексации, собственный просмотрщик документов. Более того, программа даже может обеспечивать удалённый доступ к нашей базе документов по принципу сервера, и мы сможем искать файлы на нашем компьютере, будучи далеко от него, по сути, из любой точки мира. Так что в нескольких словах об этой программе не расскажешь, она достойна отдельного обзора. Покажу лишь, как пользоваться настроенной программой.

Как найти файл по содержимому с использованием Archivarius 3000? Вводим ключевой запрос, будь это слова из названия, будь это слова в тексте документа. И отсматриваем результаты поиска. Смотрим, где встречается все слова из нашего запроса.

При необходимости можем задействовать фильтры поиска — атрибуты в терминологии самой программы.

Метки к статье: Программы

Поиск по содержимому файлов в Linux

Необходимо в каталоге найти файлы содержащие определенную фразу. Как это сделать? Думаю, многие не раз сталкивались с подобной проблемой, как необходимость найти в папке с файлами (а порой и подпапками, в которых тоже хорошо бы поискать) файл, зная кусочек его текста (ну, или догадываясь о нем). Я тоже много раз спотыкался об эту нужда и вот, наконец, собрался и написал небольшой скрипт на bash, выполняющий эту задачу. Не самой общераспространенной задачей, но всё же имеющей место быть, является поиск исполняемого файла программы. Она воспринимает в качестве параметра имя программы, а после выполнения выводит в терминал список с расположением одновременных файлов. Иногда может понадобится найти файл, в котором содержится определённая строчка или найти строку в файле, где есть нужное слово. В Linux всё это делается с помощью одной весьма простой, но в то же время мощной утилиты grep. С её помощью можно искать не только строчки в файлах, но и фильтровать вывод команд, и много чего ещё.

Содержание статьи

Linux поиск по содержимому файлов командой grep

Часто возникают ситуации, что нужно найти какой-нибудь текст, но вы не помните, в каком файле/файлах он содержится. Секрет популярности — её мощь, она отдает возможность пользователям сортировать и фильтровать текст на основе сложных правил.

Команда grep (расшифровывается как global regular expression print) — одна из самых востребованных команд в терминале Linux, которая входит в состав проекта GNU.

В этом варианте для поиска по содержимому файлов в каталоге можно использовать утилиту grep:

grep -r -n «text» /path

grep -r "Строчка для поиска"
grep -rl $'\xEF\xBB\xBF'

где:
-n показывает строку, где был найден фрагмент;
-r осуществляет розыск рекурсивно, в файлах в самом каталоге /path и в его подкаталогах;

Также можно приплюсовать опцию -C 3, чтобы видеть +- 3 строки вокруг (выше и ниже от найденной).

Дабы найти файл по его содержимому во всех Linux — подобных ОС, достаточно использовать утилиту find.

Linux поиск по содержимому файлов командой find

Своего рода швейцарским ножом в розыске файлов является команда find. Отметим, что она имеет множество опций, которые смогут кардинально изменять механизм поиска. Мы изложим лишь основные принципы, а с остальными способностями ознакомьтесь в справке по команде. Базовый принцип использования find состоит в указании папки поиска и опций. Например, выражение «find ~/ -name *.cpp» осуществит поиск файлов, имеющих продолжение «cpp» по всем каталогам, находящимся в личной директории пользователя.

/usr/bin/find /папка -type f -exec grep -H 'строчка для поиска' {} ;

Значение, указанное после опции -name, задает шаблон соотношения имени файла. Вы можете использовать опцию -type для указания типа файла, где в свойстве значений нужно использовать специальные буквы: d — директория, f — файл, l — символическая ссылка и т. д. Функции -user, -group и -size также довольно полезны. Их значениями являются имя пользователя, имя категории и размер файла в байтах.

find /var/www/ -name "file.conf"
find /var/www/ -name "*.conf"

С поддержкою опции -exec каждому файлу, предназначенному для установки соответствия, можно добавить случайную обработку. Таким образом, появляется возможность осуществления поиска, как по имени файла, так и по охватываемому. Ниже приводится пример комбинирования команды find и grep за счет использования функции -exec.

find ~/ -name *.cpp
find ~/ -name *.cpp -user 'my-username' -group 'my-group'
find ~/ -name '*.config' -type f -exec grep 'user' {} \;
find /home/ ( -name "*.php" -or -name "*.html" -or -name "*.js" )
-exec grep -lHEi $'\xEF\xBB\xBF' {} ;

А возможно и еще проще

Linux поиск по содержимому файлов командой which

Бригада which ищет только те файлы, у которых есть право на выполнение как программы. Розыск осуществляется по директориям, заданным в переменной окружения PATH. Содержимое переменной PATH сможет отличаться для различных пользователей. Чтобы охватить как можно большее количество системных директория, необходимо войти в систему под учетной записью администратора.

which cat
/bin/cat
which docker-stack
/home/username/.local/bin/docker-stack

Linux поиск по содержимому файлов командой locate

Поиск, производимый командой locate весьма быстр. Однако учитывайте тот факт, что системная база данных может быть не живой на момент осуществления операции. Механизм сканирования файловой системы, время его проведения и вобщем наличие такого инструмента может разниться в различных дистрибутивах Linux. Команда locate может быть полезна лишь при поиске файла по его имени. Однако для проверки текстового содержимого документов на вступление искомых данных нужно использовать другой инструмент.

Команда locate представляется альтернативой для find.

Данная команда, как правило, работает быстрее и может с легкостью производить поиск (в широком смысле — стремление добиться чего-либо, найти что-либо; действия субъекта, направленные на получение нового или утерянного (забытого): новой информации (поиск информации), данных,) по всей файловой системы. Linux имеет специальную команду grep, какая принимает шаблон для поиска и имя файла (именованная область данных на носителе информации). В случае нахождения совпадений, они будут выведены в терминал. В всеобщем виде выражение можно составить как «grep шаблон_поиска имя_файла». Чтобы отыскать файлы с помощью команды locate, просто используйте следующий синтаксис:

locate query

К образцу, чтобы возвращать только файлы, содержащие сам запрос, вместо того чтобы вводить каждый файл, который содержит запрос в ведущих к нему каталогах, можно утилизировать флаг –b (чтоб искать только basename, базовое имя файла):

locate -b query

Команды find и locate – отличные инструменты для поиска файлов в UNIX‐подобных операционных системах. Любая из этих утилит имеет свои преимущества. Мы рассмотрели использование команд для поиска и фильтрации вывода бригад в операционной системе Linux. При правильном применении эта утилита станет мощным инструментом в ваших руках. Несмотря на то, что команды find и locate сами по себе очень мощны, их действие возможно расширить, комбинируя их с другими командами. Научившись работать с find и locate, попробуйте чистить их результаты при помощи команд wc, sort и grep.

Как использовать команду find для поиска в Windows

В Windows есть некоторые встроенные возможности поиска, но они могут вам не понравиться. Cortana или стандартное поле поиска на панели задач и поле поиска в проводнике файлов в Windows 10 позволяют выполнять поиск по содержимому файлов, но они могут быть медленными, особенно поиск в проводнике.

Существует более быстрый способ поиска содержимого файлов на жестком диске с помощью командной строки. Команда find ищет текстовые строки в файлах и возвращает строки из файлов, в которых была найдена текстовая строка.

ПРИМЕЧАНИЕ. Команда find не подходит для больших файлов или большого количества файлов.Сегодня мы рассмотрим, как использовать команду find, и приведем несколько примеров.

Откройте окно командной строки с правами администратора

Открытие окна командной строки от имени администратора не требуется. Тем не менее, это поможет вам избежать раздражающих диалоговых окон подтверждения. Просто будьте осторожны, какие команды вы запускаете от имени администратора в командной строке. Использование команды find в качестве администратора безопасно, поскольку она не изменяет и не удаляет файлы.Введите cmd.exe в поле поиска на панели задач. Затем щелкните правой кнопкой мыши на пункт «Командная строка» и выберите « Запускот имениадминистратора» во всплывающем меню.

Если появится диалоговое окно «Контроль учетных записей», нажмите «Да», чтобы продолжить.

ПРИМЕЧАНИЕ. Это диалоговое окно может не отображаться в зависимости от настроек контроля учетных записей. Мы не рекомендуем полностью отключать UAC.

Ключи и параметры для команды find

Большинство команд имеют дополнительные ключи, которые изменяют стандартное действие команды. Вы можете получить справку, чтобы увидеть все доступные ключи для команды find, набрав в строке следующую строку и нажав Enter:

find /?

Ключи могут быть строчными или прописными. Для параметра «string» вы должны заключить строку в двойные кавычки, иначе команда find не будет работать и вернет ошибку.

Параметр имени диска [drive:] [path] может быть любым, от буквы диска до одного файла или нескольких файлов.

Синтаксис для команды поиска

Синтаксис команды — это особый способ организации команды, ее переключателей и параметров. Ниже приведен общий синтаксис команды find.find [ключи] «строка» [путь]. Ключи могут быть в любом порядке, если они находятся перед параметром «string». Скобки [] указывают, что ключ или параметр является необязательным.

Поиск отдельного документа для текстовой строки

Сначала мы покажем вам, как искать в одном документе все вхождения текстовой строки. Следующая команда ищет в файле example1.txt фразу «groovypost — is the best tech site».

find «groovypost — is the best tech site» «C:\Users\Lori\Documents\FindCommandExamples\example1.txt»

ПРИМЕЧАНИЕ. Если в какой-либо части пути или имени файла есть пробелы, вы должны заключать в кавычки весь путь, как мы делали в приведенной выше команде. Кавычки на самом деле не нужны в этом случае, но они точно не помешают.

Обратите внимание, что фраза не была найдена в приведенном выше примере (ничего не указано под путем к файлу), даже если она находится в файле. Это потому, что случай в «groovypost» не совпадает с тем, что было в файле, то есть «groovyPost». Добавьте ключ «/i» (ignore case) сразу после команды поиска (перед фразой), чтобы игнорировать регистр при поиске текстовой фразы.

find /i «groovypost — is the best tech site» «C:\Users\Lori\Documents\FindCommandExamples\example1.txt»

Теперь фраза найдена, и вся строка, содержащая фразу, выводится на экран под путем к файлу, в котором выполняется поиск.

Поиск нескольких документов по одной и той же текстовой строке

Теперь, когда вы можете искать один файл для текстовой строки, давайте искать несколько файлов для одной и той же строки.Вы можете указать несколько файлов для поиска в команде поиска, указав путь к каждому файлу в кавычках через пробел.

find /i «groovypost» «C:\Users\Lori\Documents\FindCommandExamples\example1.txt» «C:\Users\Lori\Documents\FindCommandExamples\example2.txt»

Вы также можете искать все текстовые файлы в каталоге, используя подстановочный знак, который является звездочкой (*), как показано в следующей команде.

find /i «groovypost» «C:\Users\Lori\Documents\FindCommandExamples\*.txt»

Поисковый термин был найден в обоих документах, а предложения, в которых они были найдены, перечислены под полным путем к каждому файлу.

Подсчитать количество строк в файле

Если вы хотите узнать, сколько строк в файле, вы можете использовать комбинацию команд type и find. Команда type отображает содержимое одного или нескольких текстовых файлов.

Мы передали результаты команды type в команду find, используя вертикальную черту (|). Мы использовали ключ «/v» для отображения всех строк, НЕ содержащих строку «» , поэтому каждая строка с текстом будет подсчитана. Чтобы отобразить только количество строк в текстовом файле (не сами строки), мы используем переключатель «/c».

type C:\Users\Lori\Documents\FindCommandExamples\example1.txt | find «» /v /c

Отправьте вывод другой команды в команду поиска

Вы также можете выполнить поиск определенной строки во всех именах файлов в каталоге, отправив выходные данные команды dir в команду find. Например, мы получили список каталогов C:\Users\Lori\Documents\FindCommandExamples и все подкаталоги в этом каталоге (ключ /s). Мы также указали использовать пустой формат без информации о заголовке (ключ «/b») и отобразили список в том же формате, что и формат широкого списка (ключ «/w»), но отсортированный по столбцу («/d»).

Затем мы направляем (|) вывод команды dir в команду find, добавляя только «example» в качестве параметра. Мы не добавляли никаких переключателей в команду поиска. Имена файлов для поиска берутся из вывода команды dir.

dir «C:\Users\Lori\Documents\FindCommandExamples» /s /b /d | find «example»

А вы предпочитаете использовать команду поиска или поле поиска в проводнике? Как вы использовали команду поиска? Поделитесь своими идеями и примерами с нами в комментариях ниже.

Перевод статьи

Присоединяйтесь к нам, в нашем уютном Телеграмм-канале, где вас ждут интересные новости мира IT, подборки книг и много-много интересного!

Мы на Дзене

find — поиск файлов [Enchanted Technology]

Поиск файлов по имени

find /var/www/ -name "file.conf"
find /var/www/ -name "*.conf"

Поиск без учёта регистра:

find /var/www/ -iname file.conf

Поиск по размеру файлов

find /home/user -size +10M

Поиск по маске прав

Поиск по дате

Файлы созданные или изменённые в течении последних 5 дней

find /home/user -type f -mtime -5

Файлы созданные или изменённые в течении последних 5 минут

find /home/user -type f -mmin -5

Найти файлы созданные или изменённые старше 30 дней (ака поиск устаревших файлов):

find /home/user -type f -mtime +30

Удалить файлы созданные или изменённые старше 30 дней:

find /home/user -type f -mtime +30 -delete  

Время последнего обращения к которым более 5 дней

find /usr/bin -type f -atime +5

Дополнительный возможности использования

Поиск строки в файлах

find ./ -type f -exec grep -i -H "STRING"  {} \;

Найти все файлы php в который встречается строка STRING:

find ./ -type f -name "*.php" -exec grep -i -H "STRING"  {} \;

Так же можно использовать команду grep с опцией -R для поиска файлов по содержимому:

grep "STRING" -R /path/for/find

Замена текста в файлах

find ./ -type f -name "*.conf" -exec sed -i s/OLDTEXT/NEWTEXT/g {} \;

Массовое изменения прав доступа

Установка прав доступа 644 на все файлы в текущей директории и всех поддиректориях:

find ./ -type f -exec chmod 644 {} \;

Установка прав доступа 755 на все папки в текущей директории и всех поддиректориях:

find ./ -type d -exec chmod 755 {} \;

Скобочки {} означают передаваемый аргумент команде выполняющейся в -exec от утилиты find, такой как путь файла

WinSCP — лучший файловый FTP менеджер

Годами я сидел в своем любимом Total Commader “кастомной” сборки и как говорится “горя не знал”. Но задачи усложнялись. А с FileZilla, как не парадоксально, у меня не сложилось. И в один прекрасный день я начал искать приложение посерьезнее, которое позволило бы мне работать со всеми протоколами на более профессиональном уровне + я бы смог редактировать и сохранять файлы на сервере напрямую, просматривать скрытые файлы. WinSCP полностью отвечает данному требованию, и работает не только с FTP протоколом,  но и с SCP, SFTP, SSH etc.

WinSCP – что это за программа?

WinSCP (Windows Secure Copy) – это GNU GPL файловый менеджер-клиент с графическим интерфейсом под ОС Windows (32/64bit), который поддерживает передачу данных по протоколам FTP, SCP (Secure Copy Protocol), SFTP (Secure File Transfer Protocol), SSH, WebDAV, Amazon S3, а также интегрируется с PuTTY агентом. Разработал приложение Martin Přikryl в 2000 году на языке программирования C++.

Особенности файлового менеджера:

  • Бесплатность
  • Графический инструмент в стиле Norton Commander
  • Поддержка Drag-n-Drop
  • Доступ к командной строке, выполнение команд и скриптов
  • Интеграция с PUTTY-клиентом
  • Поддержка разных типов авторизации – по паролю, анонимная, GSS, public key
  • Программа постоянно поддерживает соединение в реальном времени,  даже если вы не активны (Total Commander обрывал связь)
  • Поддержка нескольких окон
  • Наличие portable-версии
  • Поддержка Русского, Украинского языков
  • Возможность использовать сторонний веб-редактор для открытия и редактирования файлов. Файлы после сохранения тут же перезаписываются на сервер.
  • Возможность сохранять настройки соединения
  • Возможность создать отдельный ярлык на Рабочем столе для соединения
  • Работа с ключами по защищенным протоколу SSH, SSH-1, SSH-2
  • Поддержка Dark Theme
  • Регулярные обновления и поддержка

Как просмотреть скрытые файлы в WinSCP

После установки, по умолчанию, клиент WinSCP не отображает скрытые файлы и папки. Например, я долго был в недоумении, почему я не вижу .htaccess у себя на сервере, пока не зашел в тот же Total Commander и понял, что он есть, но в WinSCP не отображается. Можно ли как-то исправить это?

Конечно же, в такой мощной программе есть возможность просматривать не только .htaccess, но и множество других скрытых или зашифрованных данных.

Переходим в пункт меню: Настройки -> Панель -> Показывать скрытые файлы

Горячие клавиши WinSCP

  • Ctrl+R/F5 – Re-read panel
  • Backspace or Alt+Up – Open parent directory
  • Ctrl+\ – Open root directory
  • Ctrl+H – Open home directory
  • Alt+Left – Go back
  • Alt+Right – Go forward
  • Alt+F1 – Open path change menu for left panel
  • Alt+F2 – Open path change menu for right panel
  • Ctrl+B – Bookmark current directory
  • Ctrl+O, Ctrl+L, Alt+D – Display bookmark window
  • Ctrl+Alt+T – Toggle tree panel
  • Ins – Select/deselect file
  • Num+ – Select group
  • Num- – Deselect group
  • Num* – Invert selection
  • Ctrl+A – Select all files
  • Shift+Ctrl+L – Deselect all files
  • Shift+Ctrl+R – Restore selection
  • F2 – Rename focused file
  • F4 – Edit focused file
  • Shift+F4 – Edit (create) new file
  • Ctrl+Alt+F4 – Edit focused file in an internal editor
  • F5/Ctrl+K – Download (when remote panel is active) or Upload (when local panel is active) selected files
  • Shift+F5 – Duplicate selected files (remote panel only)
  • F6 – Download (when remote panel is active) or Upload (when local panel is active) selected files and delete original
  • Shift+F6 – Move/rename selected files (remote panel only)
  • Alt+F6 – Add/edit link
  • F7 – Create new folder
  • F8, Del – Delete selected files
  • Shift+Del – Delete selected files (alternative)
  • F9, Alt+Enter – Change properties of selected files
  • Ctrl+C – Copy the selected files to the clipboard
  • Ctrl+V – Paste files, opens path from clipboard, opens session URL from clipboard
  • Shift+Ctrl+D, Ctrl+W – Close active session
  • Ctrl+N – Open a new session
  • Ctrl+Tab, Shift+Ctrl+Tab – Cycle opened sessions
  • Alt+1, Alt+2 … – Switch to other opened session
  • Ctrl+Alt+B – Toggle synchronized browsing
  • Shift+F2 – Compare files in panels
  • Ctrl+P – Open current session in PuTTY
  • Ctrl+Alt+P – Open Preferences dialog
  • Shift+Ctrl+Q – Process queue
  • Ctrl+Alt+R – Toggle automatical refresh of remote directory after operation
  • Ctrl+S – Synchronize directories
  • Ctrl+U – Keep remote directory up to date
  • Shift+Ctrl+T – Open terminal window
  • F10, Alt+F4 – Quit
  • Alt+F7/F3 – Find file
  • Esc – Cancels reading of remote directory
  • Ctrl+F3 – Sort files in the active panel by name
  • Ctrl+F4 – Sort files in the active panel by extension
  • Ctrl+F5 – Sort files in the active panel by modification time
  • Ctrl+F6 – Sort files in the active panel by size
  • Ctrl+F7 – Sort files in the active panel by attributes/permissions
  • Ctrl+F8 – Sort files in the active panel by owner (remote panel only)
  • Ctrl+F9 – Sort files in the active panel by group (remote panel only)
  • Ctrl+Enter – Insert names of selected files to command line
  • Shift+Ctrl+C – Copy names of selected files to the clipboard
  • Ctrl+Alt+C – Copy names of selected files including paths to the clipboard
  • Ctrl+[ – Copy current local path to the clipboard
  • Ctrl+] – Copy current remote path to the clipboard
  • Ctrl+Alt+H – Toggle hidden and system files displaying
  • Ctrl+Alt+F – Filter files
  • Ctrl+Alt+E – Open current directory in Windows Explorer (local panel only)
  • Shift+Ctrl+N – Show/focus command line
  • Ctrl+Q – Focus queue view (when visible)

В целом, WinSCP – это высокая надежность и функциональность, по сравнению с тем же Total Commander’ом. Хотя, не будем списывать этого старичка со счетов, у него есть одна замечательная функция, которую я нигде не нашел – текстовый поиск по файлам через FTP.

Удачи!

Скачать WinSCP Portable

WinSCP: поиск текста в удаленных файлах — search

Я использую WinSCP, чтобы получить доступ к удаленным файлам нашего проекта. Как я могу искать некоторый текст/Слова во всех удаленных файлах / каталогах, используя WinSCP?

search

full-text-search

remote-server

winscp

Поделиться

Источник


Max_Salah    

15 января 2013 в 08:18

1 Ответ



5

WinSCP не поддерживает поиск текста в своем основном GUI.


Но есть встроенное расширение для рекурсивного поиска текста в удаленном каталоге .

Это универсальное решение, которое работает с SFTP, даже если сервер не разрешает доступ к shell или даже для FTP или WebDAV сеансов.


Кроме того, вы можете использовать окно консоли WinSCP ( команды > Открыть Terminal ) для запуска поиска из командной строки.

grep -r "text_to_search_for" *

Поделиться


Martin Prikryl    

03 апреля 2013 в 13:29


Похожие вопросы:

Поиск текста в файлах (C#)

Наше приложение позволяет сохранить любой тип файла в MS SQL DB в качестве blob/image. теперь я должен предоставить функцию поиска текста в файлах. Аналогично стандартному поиску Windows find in…

сторож уведомляет об удаленных файлах?

Я попытался найти в документации, и я не нашел указания. Я читаю код Win32 watch (потому что я знаком с API, и кажется, что это не так). Отслеживание удаления файлов чрезвычайно запутано на windows,…

WinSCP выберите самый последний файл

Поиск эквивалента командной строки WinSCP для выбора самого последнего / последнего файла. Любая идея http://winscp.net/eng/docs/script_download_most_recent_file

Поиск текста во всех файлах в tgz

Unix скриптинг Создайте сценарий Unix, который может сделать : 1) поиск текста во всех файлах в tgz 2) Поиск FileName во всех файлах в tgz и создает отдельный архивный файл, содержащий результат….

Загрузка файлов на основе форм в HTML и удаленных файлах

Я читал RFC 1867 о загрузке файлов на основе форм в HTML разделе 5.7 , касающемся удаленных файлов с передачей третьим лицам, но вместо спецификаций / реализаций есть вопрос и предложение. Затем я…

WinSCP + Tortoise SVN / Merge-сравнение / diff локальных и удаленных файлов

При использовании WinSCP мы можем определить настроенные команды для выполнения задачи, например, для сравнения содержимого файла. Встроенный один-это: cmd /c fc ^!^ ! | more && pause…

Отображение даты в WinSCP

Я ищу способ распечатать дату клиента или сервера в консоли WinSCP. ( C:\Program Files (x86)\WinSCP\WinSCP.com ) Это не работает. winscp> echo $date Как мы можем отформатировать дату?

Поиск Текста В Файлах С Помощью PHP

Как искать текст в некоторых файлах, таких как PDF, doc, docs или txt, используя PHP? Я хочу сделать аналогичную функцию как полнотекстовый поиск в MySQL, но на этот раз, я непосредственно искать…

Vim: поиск в файлах клавиш

Я использую vimgrep (или grep) для поиска в файлах внутри vim, но я вижу, что довольно неудобно писать это каждый раз, когда я хочу сделать поиск в vim. Есть идеи, как сделать подходящий короткий…

Windows сведения об удаленных файлах журнала событий

Как я могу получить информацию об удаленных файлах в Windows, которые пользователь удалил файл / папку по общей сети? Есть ли место, где окно регистрирует всю такую информацию. Если да, то где?…

Сценарии и автоматизация задач

:: Документация по WinSCP

»Возможности»

Эта статья содержит подробное описание функциональности сценариев / автоматизации. Вместо этого вы можете увидеть упрощенное руководство по функциям.

В дополнение к графическому интерфейсу WinSCP предлагает скриптовый / консольный интерфейс со многими командами. Команды можно вводить в интерактивном режиме или считывать из файла сценария или другого источника.

Прямое использование скриптового интерфейса рекомендуется для простых задач, не требующих каких-либо управляющих структур.Для сложных задач предпочтительнее использовать сборку WinSCP .NET.

Использование сценариев

Войдите в режим консоли / сценария, используя winscp.com ; или параметр командной строки / console с winscp.exe . Дополнительные сведения см. В параметрах командной строки консоли / сценария.

Для автоматизации команды могут быть прочитаны из файла сценария, указанного переключателем / script , переданы из командной строки с помощью переключателя / command или из стандартного ввода winscp.com .

Файл сценария должен использовать кодировку UTF-8, или UTF-16 (с BOM).

При выполнении команд, указанных с помощью / скрипт или / команда , пакетный режим используется неявно, а подтверждения перезаписи отключены. В интерактивном режиме сценариев пользователю предлагается такой же способ, как и в режиме GUI . Для принудительного использования пакетного режима (все запросы автоматически получают отрицательный ответ) используйте команду option batch abort .Для пакетного режима рекомендуется отключить подтверждения с помощью опции , чтобы разрешить перезапись, чтобы разрешить перезапись (в противном случае на запрос подтверждения перезаписи ответ будет отрицательным, что сделает перезапись невозможной).

Одновременно можно открыть несколько сеансов. Используйте команду session для переключения между ними.

Обратите внимание, что первое подключение к серверу SSH требует проверки ключа хоста.
Также первое подключение к FTPS или хосту WebDAVS с сертификатом, подписанным ненадежным центром, требует проверки сертификата.

Проверка результатов

Исполняемые файлы WinSCP возвращают код выхода 1, когда любая команда прерывается из-за ошибки или получен ответ на любое приглашение Прервать (даже автоматически в пакетном режиме). В противном случае он возвращает код выхода 0.

Для дальнейшего анализа результатов операций с использованием сценария вам будет полезно вести журнал XML.

Дополнительные сведения см. В разделе Как узнать, что сценарий успешно завершен?

Синтаксис команд

Все команды WinSCP имеют синтаксис:

команда -switch -switch3 параметр1 параметр2... параметр
 

Параметры команды с пробелами

Параметры команды, содержащие пробелы, должны быть заключены в двойные кавычки. Чтобы использовать двойные кавычки буквально, удвойте их:

 поместите "файл с пробелами и" "кавычками" ". Html" 

Обратите внимание: когда вы указываете команды в командной строке с помощью / command , вам необходимо заключить каждую команду в двойные кавычки и экранировать двойные кавычки в команде, удвоив их.

Для отладки квотирования включите ведение журнала сеанса на уровне Отладка 1 ( / loglevel = 1 ).Журнал покажет, как WinSCP понимает как вашу командную строку, так и отдельные команды сценария.

Переменные среды

Вы можете использовать переменные среды в командах с синтаксисом % NAME% : 1

 положить "% FILE_TO_UPLOAD%" 

Обратите внимание, что расширение переменных отличается от пакетных файлов Windows:

Отметка времени

WinSCP автоматически преобразует % TIMESTAMP [rel] # format% в реальное время (необязательно в прошлое или будущее) с заданным форматом.Формат может включать гггг для года, мм для месяца, дд для дня, чч для часа, нн для минуты и сс для секунды. Например, % TIMESTAMP # гггг-мм-дд% преобразуется в 2016-06-22 22 июня 2016 г. См. Другие форматы, которые вы можете использовать.

Необязательная часть rel с синтаксисом [- +] time [YDHNS] создает прошлые ( - ) или будущие ( + ) временные метки.Необходимо использовать одну из следующих единиц: Y (годы), D (дни), H (часы), N (минуты) или S (секунды). Например, % TIMESTAMP-1D # yyyy-mm-dd% ( -1D означает один день в прошлом) преобразуется в 2016-06-21 22 июня 2016 года.

Чтобы использовать % TIMESTAMP ...% в командной строке в пакетном файле, вам необходимо избежать % , удвоив его до %% TIMESTAMP ... %% , чтобы интерпретатор командного файла не пытался для разрешения переменной.

Аргументы скрипта

Вы можете ссылаться на аргументы сценария (переданные в командной строке с помощью параметра / параметра ), используя синтаксис % N% , где N - порядковый номер аргумента: 1

 положить "% 1%" 

Чувствительность к регистру имен файлов

Обратите внимание, что WinSCP обрабатывает имена файлов с учетом регистра. Поэтому, даже если ваш сервер обрабатывает имена файлов без учета регистра, убедитесь, что вы правильно указали регистр.

Команды

Реализованы следующие команды.

Чтобы увидеть справку по команде, прочтите соответствующую статью документации ниже или введите команду help прямо в консоли.

Команда Описание
звонок Выполняет произвольную удаленную команду оболочки
CD Изменяет удаленный рабочий каталог
контрольная сумма Вычисляет контрольную сумму удаленного файла
chmod Изменяет права доступа к удаленному файлу
закрыть Закрывает сессию
cp Дубликаты удаленного файла
эхо Выводит сообщение на вывод сценария
выход Закрывает все сеансы и завершает программу
получить Загружает файл из удаленного каталога в локальный каталог
справка Отображает справку
keepuptodate Непрерывно отображает изменения в локальном каталоге на удаленном
ЖК Изменяет локальный рабочий каталог
лс Показывает содержимое локального каталога
пер. Создает удаленную символическую ссылку
лпвд Распечатывает локальный рабочий каталог
лс Показывает содержимое удаленного каталога
мкдир Создает удаленный каталог
мв Перемещает или переименовывает удаленный файл
открытый Подключается к серверу
опция Устанавливает или показывает значение параметров скрипта
положить Загружает файл из локального каталога в удаленный каталог
pwd Распечатывает удаленный рабочий каталог
пог. Удаляет удаленный файл
rmdir Удаляет удаленный каталог
сессия Выводит список подключенных сеансов или выбирает активный сеанс
стат Получает атрибуты удаленного файла
синхронизировать Синхронизирует удаленный каталог с локальным

Инструмент интерфейса консоли

Узнайте о winscp.com , инструмент интерфейса консоли.

Проверка ключа хоста или сертификата в сценарии

Первое подключение к серверу SSH требует проверки ключа хоста. Чтобы автоматизировать проверку в сценарии, используйте переключатель -hostkey команды open , чтобы автоматически принять ожидаемый ключ хоста.

Вы можете найти отпечаток ключа в диалоговом окне информации о сервере и протоколе. Вы также можете скопировать отпечаток ключа в буфер обмена из запроса подтверждения при первом (интерактивном) подключении с помощью команды Копировать отпечатки ключей в буфер обмена (в сценарии используйте только отпечаток ключа хоста SHA-256 ). Подробнее о получении отпечатка ключа хоста .

Также может потребоваться проверка сертификата TLS / SSL FTPS / WebDAVS, подписанного ненадежным органом. Чтобы автоматизировать проверку в сценарии, используйте переключатель -certificate из команды open , чтобы автоматически принять ожидаемый сертификат.

Запуск сценария под другой учетной записью (например, с использованием планировщика)

Если вы собираетесь запускать сценарий под другой учетной записью (например, с помощью планировщика Windows), не забывайте, что WinSCP все еще требуется доступ к своей конфигурации.Обратите внимание, что при использовании реестра в качестве хранилища конфигурации настройки доступны только для вашей учетной записи Windows, поэтому в таком случае вам может потребоваться либо перенести конфигурацию из реестра вашей учетной записи в реестр другой учетной записи, либо вместо этого использовать файл INI.

Обратите внимание, что конфигурация также включает проверенные ключи хоста SSH и сертификаты TLS / SSL FTPS / WebDAVS.

Совместное использование конфигурации с графическим режимом

В режиме сценариев / консоли WinSCP по умолчанию использует конфигурацию совместно с графическим режимом.Хотя в некоторых случаях это может быть полезно, это также может быть недостатком.

Недостатком является то, что изменение конфигурации в графическом режиме может привести к поломке вашего скрипта (типичный пример - включение опции Только существующие файлы для синхронизации). Также сценарий не переносится на другие машины, если он полагается на внешнюю конфигурацию.

Если вы хотите защитить свой скрипт от такого непреднамеренного изменения или если вы хотите сделать скрипт переносимым, вы должны явно изолировать его конфигурацию от графического режима.

Лучший способ сделать это - настроить все необходимые параметры, используя только команды сценария ( option command, переключатели других команд, URL-адрес сеанса) или, если такая команда недоступна, используя необработанные настройки сайта и необработанную конфигурацию. Наконец, принудительно запускайте режим сценариев с конфигурацией по умолчанию, используя параметр командной строки / ini = nul .

В качестве альтернативы можно экспортировать конфигурацию в отдельный файл INI и ссылаться на него с помощью параметра командной строки / ini = .Также рассмотрите возможность установки INI-файла только для чтения, чтобы предотвратить запись в него WinSCP при выходе. В частности, если вы запускаете несколько сценариев параллельно, чтобы разные экземпляры WinSCP не пытались написать его одновременно.

Создание сценария

Вы можете заставить WinSCP сгенерировать для вас шаблон сценария.

Пример

В приведенном ниже примере WinSCP подключается к серверу example.com с учетной записью пользователя , загружает файл и закрывает сеанс.Затем он подключается к тому же серверу с учетной записью user2 и загружает файл обратно.

 # Подключить
откройте sftp: // user: [email protected]/ -hostkey = "ssh-rsa 2048 xxxxxxxxxxx ... ="
# Изменить удаленный каталог
cd / home / user
# Загрузить файл в локальный каталог d: \
получить examplefile.txt d: \
# Отключить
Закрыть
# Подключиться как другой пользователь
откройте sftp: // user2: [email protected]/
# Сменить удаленный каталог
cd / home / user2
# Загрузить файл в текущий рабочий каталог
поместите d: \ examplefile.текст
# Отключить
Закрыть
# Выйти из WinSCP
выход 

Сохраните скрипт в файл example.txt . Чтобы выполнить файл сценария, используйте следующую команду.

 winscp.com / ini = nul /script=example.txt 

Для простых сценариев вы можете указать все команды в командной строке с помощью переключателя / command :

 winscp.com / ini = nul / command "open sftp: // user: [email protected]/ -hostkey =" "ssh-rsa 2048 xxxxxxxxxxx ... =" "" "получить examplefile.txt d: \" "выход" 

В пакетном файле Windows вы можете использовать ^ , чтобы разделить слишком длинную командную строку для разделения строк путем экранирования следующего символа новой строки:

 winscp."выход" 

См. Другие полезные примеры сценариев .

Преобразование скрипта в код на основе сборки .NET

Когда вы обнаружите, что ограничены возможностями создания сценариев, вы можете рассмотреть возможность преобразования сценария в код, использующий сборку WinSCP .NET.

Дополнительная литература

.

расширений WinSCP :: WinSCP

Расширение WinSCP - это текстовый файл со стандартизированным синтаксисом метаданных, определяющий настраиваемую команду. Таким образом, его можно легко распространить и установить в WinSCP.

Файл расширения может включать только метаданные, если определенная пользовательская команда полагается только на стандартные инструменты (такие как командная строка WinSCP, сценарии, встроенные команды Windows и т. Д.). Хотя обычно файл расширения также включает реальный код, реализующий расширение.В этом случае определение пользовательской команды будет ссылаться на сам файл с помощью переменной % EXTENSION_PATH% , а метаданные расширения будут экранированы с использованием синтаксиса «комментариев» соответствующего языка. Язык может быть пакетным файлом Windows (возможно, с использованием сценария WinSCP), сценарием PowerShell (возможно, с использованием сборки WinSCP .NET) или другим языком.

Установщик WinSCP развертывает несколько полезных официальных расширений. Вы также можете установить некоторые дополнительные необязательные расширения.

Синтаксис

Метаданные расширения должны начинаться с самой первой строки файла расширения. Анализ метаданных останавливается на первой строке без метаданных.

Все метаданные имеют префикс @ , за которым следует ключ метаданных, пробел (и) или табуляция (и) и значение.

Строка метаданных должна начинаться с @ , опционально с экранированием некоторого признанного синтаксиса «однострочных комментариев». Распознанные синтаксисы комментариев: rem (командный файл Windows), # (e. в конце строки. Следующая строка (строки) также может быть экранирована синтаксисом комментария, так же, как первая строка.

Распознанные ключи метаданных:

Ключ Описание
@ имя Имя настраиваемой команды.
Вы можете вставить амперсанд ( и ) перед буквой, чтобы сделать его ускорителем клавиатуры. Имя должно заканчиваться на ... (многоточие), если отображается какое-либо приглашение (подтверждение или ввод) перед фактическим выполнением команды).Например & Grep ... .
Этот ключ является обязательным.
@ команда Фактическая пользовательская команда.
Команда обычно включает некоторые настраиваемые шаблоны команд и может использовать переменную % EXTENSION_PATH% для ссылки на сам файл расширения. Вы также можете использовать % WINSCP_PATH% для ссылки на путь исполняемого файла WinSCP или любую другую переменную среды.
Этот ключ является обязательным.
@require Определяет зависимости расширений.Предотвращает установку расширения в системе, которая не отвечает требованиям расширения.
Распознанные зависимости:
WinSCP — определяет минимальную поддерживаемую версию WinSCP, например @require WinSCP 5.8.2
Windows — определяет минимальную поддерживаемую версию Windows, например @require Windows 6.1 (для Windows 7)
.NET — определяет минимальную поддерживаемую версию .NET framework, например @require .NET 4.5
PowerShell — определяет минимальную поддерживаемую версию PowerShell, например.г. @require PowerShell 5.0
Чтобы определить несколько зависимостей, используйте несколько записей @require в отдельных строках.
на стороне Локальный или Удаленный тип настраиваемой команды.
По умолчанию Локальный .
@flag Пользовательский параметр команды.
Распознаваемые параметры:
ApplyToDirectories — заставляет команду выполняться даже для выбранных каталогов.! ).
Рекурсивный — Выполняет команду для файлов в выбранных каталогах. Имеет смысл для команд, которые работают только с одним файлом (шаблон ! ).
ShowResults — выводит вывод настраиваемой команды в окно консоли. Может использоваться только с пользовательскими командами типа Remote . Локальные команды могут использовать собственное окно консоли Windows.
ShowResultsInMsgBox — выводит вывод настраиваемой команды в окно сообщения.
CopyResults — Копирует вывод настраиваемой команды в буфер обмена. Может использоваться только с пользовательскими командами типа Remote . Локальные команды могут использовать API своего языка для копирования содержимого в буфер обмена.
RemoteFiles — С пользовательской командой типа Local получается ! Шаблоны , ! & и ! / относятся к удаленным путям, а не к локальной копии удаленных файлов (также предотвращает саму загрузку).
Чтобы установить несколько параметров, используйте несколько записей @flag в отдельных строках.
@shortcut Связывает настраиваемое сочетание клавиш по умолчанию с настраиваемой командой. Ярлык может быть изменен пользователем.
@ описание Описание пользовательской команды. Будет использоваться как подсказка в графическом интерфейсе пользователя WinSCP .
@author Автор расширения.Не используется.
@ версия Версия расширения. Должен использоваться шаблон major [.minor [.build [.release]]] только с цифрами. Не используется.
@ домашняя страница A http: // или https: // URL на веб-страницу расширения. Не используется.
@ источник A http: // или https: // URL-адрес самого файла расширения.Не используется. В будущих версиях его можно будет использовать для проверки обновлений расширений (с помощью ключа @version ).
@ опция Определяет настраиваемый пользователем параметр расширения.
Чтобы определить несколько параметров, используйте несколько записей @option в отдельных строках.
@optionspage URL-адрес страницы справки для диалогового окна параметров. Если он отсутствует, вместо него используется @homepage .! «-remotePath»! /! «-pause
# @description Сравнивает контрольные суммы выбранного локального и удаленного файлов
# @flag RemoteFiles
# @version 1

Полные примеры см. В официальных и дополнительных расширениях ниже.

Опции

Расширение может иметь настраиваемые пользователем параметры, которые определяются с использованием метаданных @option .

Запись @option имеет следующие параметры:

@option <имя> [-config [-site]] [-run]  "
"
Параметры Описание
наименование Уникальное имя опции. В пользовательской команде любая строка % name% будет заменена настроенным значением параметра.
Для типов элементов управления диалогового окна параметров label , link и group используйте (тире), поскольку они не имеют значения.
-конфиг Опция используется при настройке расширения в диалоговом окне «Настройки».
-бег Опция используется при запуске расширения. Когда используются и -config , и -run , значение, настроенное в диалоговом окне «Настройки», используется в качестве значения по умолчанию при запуске расширения.
- участок Значение параметра зависит от сайта. При настройке расширения с опцией для конкретного сайта необходимо открыть сеанс.
тип Тип опции или диалогового элемента управления опциями.
Поддерживаемые типы: текстовое поле , файл , раскрывающийся список , комбинированный список , флажок , метка , ссылка
подпись Заголовок диалогового окна опций, представляющего опцию.
по умолчанию Значение опции по умолчанию.
Для параметров времени выполнения (без переключателя -config ) типа текстовое поле и файл , нефайловые пользовательские шаблоны команд (! / , ! E , ! S , ! @ , ! U , ! P , ! # и ! \ ) расширены.
дополнительный Дополнительные параметры, относящиеся к типу опции. Смотри ниже.

Подробная информация об отдельных типах опционов:

Тип Описание
текстовое поле Поле редактирования обычного текста. по умолчанию определяет текстовое значение по умолчанию. Значение параметра равно значению, введенному в поле редактирования.
файл Селектор файлов. по умолчанию определяет путь по умолчанию. Переменные среды в значении по умолчанию разрешены. Значение параметра равно выбранному пути.
раскрывающийся список Выпадающее меню. Дополнительные параметры определяют список возможных значений с синтаксисом [значение =] текст . Текст будет отображаться в раскрывающемся меню.Значение параметра равно , значение выбранного элемента. Если значение = отсутствует, в качестве значения используется текст . По умолчанию будет выбран элемент со значением , равным по умолчанию .
комбинированный список Поле со списком. Дополнительные параметры определяют список возможных значений с синтаксисом [значение =] текст . Текст будет отображаться в раскрывающемся меню.Значение параметра равно , значение выбранного элемента. Если значение = отсутствует, в качестве значения используется текст . Если вводится произвольный текст, значение равно тексту. По умолчанию будет выбран элемент со значением , равным по умолчанию . Если такой элемент не существует, в качестве настраиваемого текста по умолчанию используется по умолчанию .
флажок Флажок. Два необязательных параметра и дополнительных определяют значения опции, когда флажок установлен и не установлен, соответственно.Если по умолчанию равно первому дополнительному параметру, флажок установлен по умолчанию.
этикетка Текстовая метка. Просто текстовая метка, отображаемая в диалоговом окне параметров.
Эта «опция» не имеет значения. Используйте для параметра name .
ссылка Гиперссылка. Либо используйте URL-адрес для caption , либо используйте текст ссылки для caption и URL для параметра по умолчанию .
Эта «опция» не имеет значения. Используйте для параметра name .
группа Групповой ящик. Группирует все следующие параметры в поле группы.
Эта «опция» не имеет значения. Используйте для параметра name .

Есть два псевдонима для распространенных опций. Заголовки псевдонимов локализованы.

Сокращение Описание
файл журнала сеанса Эквивалент: file "& Session log file:"
В дополнение к этому, хотя по умолчанию используется пустой файл журнала, при просмотре нового файла журнала он по умолчанию равен % TEMP% \ extensionname.журнал . Браузер файлов также отображает файлов .log только по умолчанию.
pausecheckbox Эквивалент флажку "& Пауза в конце" -пауза -пауза

Например, следующие записи:

 # @option - -config label "Пример параметров расширения"
# @option - -config ссылка https://winscp.net/eng/docs/extension#options
# @option Mask -config textbox "& File mask" "*.# -files = "Файлы" -dirs = "Каталоги" -both = "Файлы и каталоги"
# @option LogFile -config file "& Log File:" "% APPDATA% \ mylog.log"
# @option Pause -config checkbox "& Pause at the end" -pause -pause 

Создайте этот диалог опций:

Когда имена параметров используются в такой команде, как:

example.exe -mask = "% Mask%"% SearchType% -log = "% LogFile%"% Pause%
 

Результирующая команда (с параметрами, настроенными, как показано на скриншоте, т.е.е. со значениями по умолчанию) будет:

example.exe -mask = "*. txt; * .html" -files -log = "C: \ Users \ username \ AppData \ Roaming \ mylog.log" -pause
 

Официальные расширения

Эти официальные расширения развертываются установщиком WinSCP:

Дополнительные расширения

Вы можете установить эти дополнительные расширения, указав URL-адреса их страниц в команде Добавить расширение :

Загрузка

WinSCP ищет расширения в трех местах:

  • Extension подпапка установочной папки WinSCP.Здесь установщик WinSCP устанавливает официальные расширения WinSCP (см. Выше).
  • WinSCP.exe исполняемая папка. Это удобно для портативного использования WinSCP. Просто поместите свои расширения в ту же папку ( USB диск), что и исполняемые файлы WinSCP.
  • Extensions вложенная папка папки данных приложения WinSCP. Т.е. % APPDATA% \ WinSCP \ Extensions , обычно C: \ Users \ username \ AppData \ Roaming \ WinSCP \ Extensions . Здесь WinSCP хранит установленные пользователем расширения.

Расширения должны иметь расширение файла .WinSCPextension , за которым может следовать фактическое расширение типа файла, например .WinSCPextension.ps1 . WinSCP автоматически переименовывает файлы расширений, установленных пользователем, в соответствии с этим требованием.

Файлы с другими расширениями в местах расположения расширений игнорируются, а также файлы с недопустимыми метаданными расширения.

Издательство

Если вы создали полезное расширение и хотите сделать его общедоступным на сайте WinSCP, свяжитесь с нами на форуме поддержки.

Дополнительная литература

.

Сборка WinSCP .NET и библиотека COM :: WinSCP

Сборка WinSCP .NET winscpnet.dll — это .NET-оболочка вокруг интерфейса сценариев WinSCP, которая позволяет вашему коду подключаться к удаленному компьютеру и управлять удаленными файлами через SFTP , FTP , WebDAV , S3 и Сеансы SCP из языков .NET, таких как C #, VB.NET и другие, или из сред, поддерживающих .NET, таких как PowerShell, SQL Server Integration Services (SSIS), ASP .NET и Microsoft Azure WebSite.

Сборка также доступна для COM , и поэтому ее можно использовать из множества других языков программирования и сред разработки, например, из активных языков сценариев, размещенных в WSH, таких как JScript и VBScript, Visual Basic для приложений (VBA), Perl, и Python.

Сборка предназначена для .NET Framework 4.0 и .NET Standard 2.0.

Назначение сборки

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

Вы также можете использовать сборку для написания сценариев, расширяющих функциональность графического интерфейса WinSCP.

Библиотека не является библиотекой для передачи файлов общего назначения. В частности, он имеет ограниченную поддержку интерактивной обработки и, как таковой, не очень хорошо подходит для использования в приложениях GUI .

По той же причине также сложно использовать сборку в ограниченной среде, такой как веб-сервер, которая ограничивает или даже ограничивает выполнение внешних процессов.

Загрузка и установка сборки

Для начала нужно скачать и установить сборку.

Использование классов из сборки WinSCP .NET

  1. Создайте экземпляр класса WinSCP.SessionOptions и введите всю необходимую информацию, чтобы разрешить автоматическое соединение и аутентификацию вашего сеанса.
  2. Создайте экземпляр класса WinSCP.Session . По желанию вы можете перехватить обработчики некоторых событий класса.
  3. Откройте сеанс, используя метод Session.Open , передав экземпляр WinSCP.SessionOptions .

После открытия сеанса вы можете использовать любой из методов WinSCP.Session для управления удаленными файлами, например,

Классы

Пространство имен: WinSCP

Генерирующий код

Вы можете заставить WinSCP сгенерировать для вас шаблон кода.

Примеры

См. Список всех примеров.

C #, пример

Есть и другие примеры C #.

 с использованием системы;
с использованием WinSCP;

пример класса
{
    общедоступный статический int Main ()
    {
        пытаться
        {
            // Настройка параметров сеанса
            SessionOptions sessionOptions = новый SessionOptions
            {
                Протокол = Протокол.Sftp,
                HostName = "example.com",
                UserName = "пользователь",
                Пароль = "мой пароль",
                SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx.знак равно
            };

            используя (Session session = new Session ())
            {
                // Подключение
                session.Open (sessionOptions);

                // Загрузить файлы
                TransferOptions transferOptions = новый TransferOptions ();
                transferOptions.TransferMode = TransferMode.Binary;

                TransferOperationResult transferResult;
                transferResult =
                    session.PutFiles (@ "d: \ toupload \ *", "/ home / user /", false, transferOptions);

                // Выбрасываем любую ошибку
                transferResult.Проверьте();

                // Распечатать результаты
                foreach (передача TransferEventArgs в transferResult.Transfers)
                {
                    Console.WriteLine («Загрузка {0} успешна», transfer.FileName);
                }
            }

            возврат 0;
        }
        улов (Исключение е)
        {
            Console.WriteLine ("Ошибка: {0}", e);
            возврат 1;
        }
    }
} 

Пример VB.NET

Есть и другие примеры VB.NET.

 Импорт WinSCP

Пример класса друзей

    Общедоступная общая функция Main () как целое число

        Пытаться
            'Параметры сеанса настройки
            Заменить параметры сеанса как новые параметры сеанса
            С помощью sessionOptions
                .Protocol = Протокол.Sftp
                .HostName = "example.com"
                .UserName = "пользователь"
                .Password = "мой пароль"
                .SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx ... ="
            Конец с

            Использование сеанса как нового сеанса
                'Подключиться
                сеанс.Открыть (sessionOptions)

                ' Загрузить файлы
                Dim transferOptions как новые TransferOptions
                transferOptions.TransferMode = TransferMode.Binary

                Dim transferResult As TransferOperationResult
                transferResult =
                    session.PutFiles ("d: \ toupload \ *", "/ home / user /", False, transferOptions)

                'Бросьте на любую ошибку
                transferResult.Check ()

                'Результаты печати
                Для каждого перевода в transferResult.Переводы
                    Console.WriteLine («Загрузка {0} успешна», transfer.FileName)
                следующий
            Конец использования

            Возврат 0
        Поймать как исключение
            Console.WriteLine ("Ошибка: {0}", e)
            Возврат 1
        Конец попытки

    Конечная функция

Конец класса 

Пример PowerShell

См. Общий пример PowerShell или любой другой пример PowerShell.

Пример JScript

См. Общий пример JScript или любой другой пример JScript.

Пример VBScript

См. Общий пример VBScript или любой другой пример VBScript.

Пример VBA

См. Общий пример VBA.

Perl, пример

См. Общий пример Perl.

Преобразование скрипта в код на основе сборки .NET

Когда вы обнаружите, что ограничены возможностями создания сценариев, вы можете рассмотреть возможность преобразования сценария в код, использующий сборку WinSCP .NET.

Лицензия

Файл WinSCP.NET Assembly — это бесплатная библиотека: вы можете использовать ее, распространять и / или изменять в соответствии с условиями общественной лицензии Mozilla версии 2.0.

Поскольку WinSCP использует лицензию GPL, важно хранить файл лицензии GPL под рукой.1 Ваше программное обеспечение не обязательно должно быть лицензировано по GPL , поскольку сборка WinSCP .NET использует WinSCP в качестве исполняемого файла через свой общедоступный интерфейс сценариев и не как библиотека.

.Параметры командной строки

:: Документация по WinSCP

»Возможности»

Параметры

Параметры исполняемого файла winscp.exe :

 winscp.exe сайт | рабочая область | папка
winscp.exe  [/ путь / [файл]]
winscp.exe [моя сессия] [/ sessionname = ]
winscp.exe [моя сессия] [/ новый экземпляр]
winscp.exe [моя сессия] / редактировать <путь>
winscp.exe [моя сессия] / просмотр [= <файл>]
winscp.exe [mysession] / synchronize [local_directory] [remote_directory] [/ defaults [= secs]]
winscp.exe [mysession] / keepuptodate [локальный_каталог] [удаленный_каталог] [/ по умолчанию [= секунды]]
winscp.exe [mysession] / refresh [путь]
winscp.exe [mysession] / upload file1 file2 file3 ... [/ defaults [= secs]]
winscp.exe [mysession] [/ privatekey =  [/ passphrase = ]]
winscp.exe [моя сессия] [/ hostkey = <отпечаток>]
winscp.exe [mysession] [/ clientcert = <файл> [/ passphrase = ]]
winscp.exe [mysession] [/ certificate = ]
winscp.exe [mysession] [/ пассивный [= вкл | выкл]] [/ неявный | явный]
winscp.exe [моя сессия] [/ timeout = ]
winscp.exe [mysession] [/ rawsettings setting1 = value1 setting2 = value2 ...]
winscp.exe [/ console] [/ script = ] [/ command command1 command2 ...]
           [/ параметр // параметр1 ...]
winscp.exe [/ log =  [/ loglevel = ] [/ logsize = [ *] ]]
           [/ xmllog =  [/ xmlgroups]]
winscp.exe [/ ini = ]
winscp.exe [/ rawconfig config1 = value1 config2 = value2 ...]
winscp.exe [/ rawtransfersettings setting1 = value1 setting2 = value2...]
winscp.exe / batchsettings <маска_сайта> настройка1 = значение1 настройка2 = значение2 ...
winscp.exe / keygen keyfile [/ output = ] [/ changepassphrase] [/ comment = ]
winscp.exe / обновление
winscp.exe / помощь 

Параметры для исполняемого файла winscp.com :

 winscp.com [/ script = script_file] [/ command command1 command2 ...]
           [/ параметр // параметр1 ...]
winscp.com [/ log =  [/ loglevel = ] [/ logsize = [ *] ]]
           [/ xmllog =  [/ xmlgroups]] [/ nointeractiveinput]
winscp.com [/ ini = ]
winscp.com [/ rawconfig config1 = value1 config2 = value2 ...]
winscp.com / batchsettings <маска сайта> настройка1 = значение1 настройка2 = значение2 ...
winscp.com / keygen keyfile [/ output = ] [/ changepassphrase] [/ comment = ]
winscp.com / help 

Сессия

Первый синтаксис открывает сайт. Чтобы открыть сайт, хранящийся в папке, используйте синтаксис пути «папка / сайт». Вы также можете открыть рабочую область или все сайты в папке сайта.

Второй создает сеанс, указанный URL-адресом сеанса и, необязательно, начальным удаленным путем.Если удаленный путь не заканчивается косой чертой (/), он рассматривается как путь к файлу (или даже каталогу), который следует загрузить.

Параметр / имя сеанса указывает собственное имя сеанса, которое будет использоваться вместо автоматически сгенерированного имени в формате имя пользователя @ имя хоста или для переопределения имени сохраненного сайта.

Если уже запущен неактивный экземпляр WinSCP, сеанс (ы) открывается в существующем экземпляре. Чтобы принудительно открыть сеанс в новом экземпляре WinSCP, используйте параметр / newinstance .

Параметр / privatekey указывает локальный путь к файлу закрытого ключа SSH. Если файл ключа зашифрован, используйте / парольную фразу , чтобы указать его парольную фразу.

Параметр / hostkey указывает отпечаток ожидаемого ключа хоста SSH (или несколько альтернативных отпечатков пальцев, разделенных точкой с запятой). Это заставляет WinSCP автоматически принимать ключ хоста с отпечатком пальца.

Параметр / clientcert указывает локальный путь к сертификату клиента FTPS или WebDAVS TLS / SSL.Если сертификат зашифрован, используйте / парольную фразу , чтобы указать его парольную фразу.

Если сертификат TLS / SSL сервера FTPS или WebDAVS не является доверенным (обычно это самозаверяющий сертификат), используйте параметр / сертификат , чтобы указать отпечаток ненадежного сертификата. Это заставляет WinSCP доверять сертификату. Несколько альтернативных отпечатков пальцев можно разделить точкой с запятой.

Параметр / passive включает пассивный ( = на ) или активный ( = off ) режим передачи (только протокол FTP).

Параметры / неявный и / явный включают соответствующий метод вызова FTPS.

Параметр / timeout указывает время ожидания ответа сервера.

Параметр / rawsettings позволяет настраивать любые параметры сайта, используя необработанный формат, как в INI-файле. Например. для включения сжатия SSH и пересылки агентов используйте / rawsettings Compression = 1 AgentFwd = 1 . Параметр должен идти после сеанса URL (если есть).

При использовании сценариев используйте вместо этого команду open (и ее переключатели).

 winscp.exe "Мой сайт"
winscp.exe sftp: // martin: [email protected]/ / hostkey = "ssh-rsa 2048 xxxxxxxxxxx ... ="
winscp.exe scp: //[email protected]: 2222 / /privatekey=mykey.ppk
winscp.exe ftps: // martin: [email protected]/ 

Лесозаготовки

С помощью параметра / log вы можете включить ведение журнала сеанса в файл, указанный по локальному пути.

Используйте параметр / loglevel , чтобы изменить уровень ведения журнала.Значение может находиться в диапазоне -1 2 (для Уменьшенный , Нормальный , Debug 1 и Debug 2 уровней ведения журнала соответственно). Добавьте дополнительно * , чтобы включить регистрацию пароля (например, / loglevel = 2 * ) .1

Используйте параметр / logsize для настройки ограничения размера файла журнала и ротации файла журнала. Укажите максимальный размер в байтах, необязательно с блоками K , M или G . При желании вы можете ограничить количество архивных файлов журнала, используя префикс count * .Например, / logsize = 5 * 10M ограничит размер файла журнала до 10 МБ, и позволит хранить до 5 архивных журналов.

 winscp.exe sftp: //[email protected]/ /log="C:\winscp.log "/ loglevel = 0 

С помощью параметра / xmllog вы можете включить ведение журнала XML в файл, указанный по локальному пути.2 В любом пути вы можете использовать те же шаблоны, что и в настройках ведения журнала.

Используйте параметр / xmlgroups вместе с / xmllog , чтобы сгруппировать все элементы журнала XML, принадлежащие одной команде, в родительский элемент group .

Консоль / режим сценария

Параметр / console выполняет WinSCP в режиме консоли (сценария). Обратите внимание, что при использовании winscp.com режим консоли неявный, поэтому использование параметра / console является избыточным.

Для запуска пакетного сценария либо передайте файл сценария, используя параметр / script , либо укажите команды непосредственно в командной строке, используя / command . В последнем случае каждый последующий параметр обрабатывается как отдельная команда.См. Раздел синтаксиса и примеры ниже, чтобы узнать, как работать с пробелами и двойными кавычками.

Если используются оба параметра: / script и / command , сначала выполняются команды из файла сценария. Если последняя команда не , выход из , следует обычный не пакетный режим.

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

С winscp.exe , если параметр / console не используется вместе с / script или / command , сценарий / команда выполняется без визуальной обратной связи (окно).

Используйте параметр / nointeractiveinput при подаче команд на winscp.com с использованием стандартного ввода, чтобы убедиться, что все запросы, кроме команд (например, запросы пароля), отменены. Также предотвращает появление сообщения об ошибке при возникновении фатальной ошибки при запуске WinSCP.При сочетании с / xmllog критическая ошибка записывается в журнал XML.

 winscp.com /script="C:\Users\martin\Documents\myscript.txt "
winscp.com / command "open sftp: //[email protected]/ -hostkey =" "ssh-rsa 2048 xxxx ... =" "" "exit"
winscp.exe / console /script="myscript.txt "/log="myscript.log" 

Вы можете заставить WinSCP сгенерировать для вас командную строку сценариев.

Операции

Следующие параметры можно использовать для создания ярлыка, который запускает работу в режиме GUI .Они не предназначены для автоматизации, для этого см. Сценарии.

Используйте / edit , чтобы открыть удаленный файл во внутреннем редакторе WinSCP.

Используйте / browse , чтобы выбрать указанный файл на (обеих) файловых панелях. Переключатель также может использоваться вместе с URL-адресом файла для того же эффекта, отменяя действие загрузки по умолчанию.

С параметром / synchronize или / keepuptodate WinSCP выполняет Synchronize или Поддерживать удаленный каталог в актуальном состоянии команды соответственно для указанного сеанса и каталогов.Сначала отображается диалоговое окно для установки параметров.

С параметром / upload WinSCP выгружает указанные файлы в исходный удаленный каталог сеанса.3 Сначала отображается диалоговое окно для установки параметров.

Используйте параметр / defaults вместе с / upload , / synchronize или / keepuptodate , чтобы пропустить диалоговое окно настроек и сразу начать операцию с настройками по умолчанию. В качестве альтернативы вы можете указать количество секунд, чтобы на самом деле отображать диалоговые окна настроек, но чтобы они автоматически отправлялись по истечении указанного времени.

Используйте параметр / refresh для перезагрузки удаленной панели всех запущенных экземпляров WinSCP. Если сеанс указан в командной строке, обновляются только экземпляры, для которых этот сеанс является активным. Если путь указан после / refresh , обновляется только этот каталог.

Рекомендуется избегать аргументов с помощью // переключателя.

 winscp.exe / defaults / synchronize // «C: \ Users \ martin \ Documents \ MySite» / home / martin / public_html 

Конфигурация

С помощью параметра / ini вы можете указать локальный путь к INI-файлу конфигурации.Это эффективно отключает использование реестра в качестве хранилища конфигурации. Если файл не существует, будет использоваться конфигурация по умолчанию и файл будет создан.

 winscp.exe /ini="C:\Users\martin\Documents\myconfig.ini "

Используйте nul вместо path, чтобы заставить WinSCP запускаться с конфигурацией по умолчанию и не сохранять конфигурацию при выходе.

С помощью параметра / rawconfig вы можете установить любые параметры конфигурации, используя необработанный формат, как в файле INI.Например. для настройки внешнего IP-адреса используйте / rawconfig Interface \ ExternalIpAddress = 198.51.100.10 . Параметр должен стоять после URL-адреса сеанса (если есть). Установленная таким образом конфигурация сохраняется.

С / rawtransfersettings вы можете установить любые параметры передачи, используя необработанный формат, как в файле INI. Например. чтобы включить сохранение временных меток каталога, используйте / rawtransfersettings PreserveTimeDirs = 1 . Установленная таким образом конфигурация сохраняется. В сценариях лучше использовать -rawtransfersettings переключатель отдельных команд сценария, например get , put и т. Д.

Массовая модификация сайтов

Используйте / batchsettings для массового изменения сохраненных сайтов. Первый аргумент — это маска для выбора сайтов, которые нужно изменить. Используйте синтаксис основных масок файлов. Вы также можете использовать маску пути для выбора сайтов на основе их папок. Остальные аргументы определяют новые значения для настроек сайта. Используйте тот же синтаксис, что и для / rawsettings .

Например, чтобы настроить прокси для всех сайтов в папке «клиенты», используйте:

 winscp.exe / batchsettings clients / * ProxyMethod = 3 ProxyHost = прокси 

Преобразование и изменение закрытого ключа

Используйте переключатель / keygen для преобразования закрытых ключей из других форматов в формат PuTTY .ppk или для изменения их парольной фразы или комментария.

Параметр после переключателя / keygen указывает путь к входному файлу закрытого ключа. Ключ ввода может быть в формате OpenSSH или ssh.com (при преобразовании ключа в формат PuTTY) или в формате PuTTY (при изменении ключевой фразы-пароля или комментария).

При преобразовании ключа из другого формата вам необходимо указать путь ключа вывода с помощью переключателя / output . При изменении ключа PuTTY существующий файл перезаписывается, если не указано / output .

Используйте переключатель / changepassphrase , чтобы изменить ключевую парольную фразу.

Используйте переключатель / комментарий для изменения ключевого комментария.

Например, для преобразования ключа mykey.pem из формата OpenSSH в mykey.ppk в формате PuTTY и установите его комментарий:

 winscp.com / keygen mykey.pem /output=mykey.ppk / comment = "Преобразовано из формата OpenSSH" 

Чтобы изменить кодовую фразу существующего mykey.ppk :

 winscp.com / keygen mykey.ppk / changepassphrase 

Для совместимости с * nix puttygen переключатели -o , -P и -C понимаются как псевдонимы для / output , / changepassphrase и / comment соответственно.Итак, для функций, поддерживаемых WinSCP, вы можете использовать те же аргументы, что и для puttygen , только с префиксом / keygen :

 winscp.com / keygen mykey.pem -o mykey.ppk -c «Преобразовано из формата OpenSSH» 

Вспомогательный

При запуске с параметром / update WinSCP проверяет только свои обновления.

Параметр / help показывает использование (обзор похож на этот).

Синтаксис

Параметры командной строки, содержащие пробелы, должны быть заключены в двойные кавычки:

 winscp.exe /ini="C:\Users\martin\Documents\myconfig.ini "

Чтобы использовать двойные кавычки в качестве литерала, используйте две двойные кавычки последовательно. Например, / команда ожидает, что каждая команда сценария заключена в двойные кавычки, так что она будет передана как единственный аргумент командной строки. Кроме того, ожидается, что любой аргумент команды сценария, который включает пробелы, будет заключен в двойные кавычки внутри команды (см. Двойные кавычки):

 winscp.com / команда "открыть sftp: //... -hostkey = "" ssh-rsa ... "" "" положить "" C: \ my file.dat "" "
                    <- Команда сценария 1 -> <- Команда сценария 2 -> 

При выполнении такой команды из PowerShell вам дополнительно необходимо экранировать двойные внутренние двойные кавычки с помощью ` (обратный апостроф), чтобы PowerShell не интерпретировал их самостоятельно: 4

 winscp.com / command "open sftp: // ... -hostkey =` "` "ssh-rsa ...` "" "" "put` "` "C: \ my file.dat`" `" "
                    <- Команда сценария 1 -> <- Команда сценария 2 -> 

Для отладки квотирования включите ведение журнала сеанса на уровне Отладка 1 ( / loglevel = 1 ).Журнал покажет, как WinSCP понимает вашу командную строку.

Аргумент, начинающийся с косой черты, считается переключателем. Чтобы передать параметр, который сам начинается с косой черты в своем синтаксисе (т.е. удаленный путь, например / root ), используйте специальный переключатель // (две косые черты) перед аргументом. Переключатель // означает, что все следующие аргументы не являются переключателями. Пример:

 winscp.exe / synchronize // "C: \ Users \ martin \ Documents \ MySite" / root 

Исполняемые файлы

Узнайте о двух исполняемых файлах WinSCP, winscp.exe и winscp.com .

Подсказка

Если вы собираетесь часто запускать WinSCP из командной строки, вы можете добавить каталог установки WinSCP в путь поиска.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2021 © Все права защищены. Карта сайта