Поиск файла по содержимому 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 <имя> [-config [-site]] [-run]
Подробная информация об отдельных типах опционов:
Есть два псевдонима для распространенных опций. Заголовки псевдонимов локализованы.
Например, следующие записи: # @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 ищет расширения в трех местах:
Расширения должны иметь расширение файла Файлы с другими расширениями в местах расположения расширений игнорируются, а также файлы с недопустимыми метаданными расширения. ИздательствоЕсли вы создали полезное расширение и хотите сделать его общедоступным на сайте WinSCP, свяжитесь с нами на форуме поддержки. Дополнительная литература. Сборка WinSCP .NET и библиотека COM :: WinSCP Сборка WinSCP .NET Сборка также доступна для COM , и поэтому ее можно использовать из множества других языков программирования и сред разработки, например, из активных языков сценариев, размещенных в WSH, таких как JScript и VBScript, Visual Basic для приложений (VBA), Perl, и Python. Сборка предназначена для .NET Framework 4.0 и .NET Standard 2.0. Назначение сборкиБиблиотека в первую очередь предназначена для расширенных задач автоматизации в Microsoft Windows, которые требуют условной обработки, циклов или других структур управления, для которых базовый интерфейс сценариев слишком ограничен. Вы также можете использовать сборку для написания сценариев, расширяющих функциональность графического интерфейса WinSCP. Библиотека не является библиотекой для передачи файлов общего назначения. В частности, он имеет ограниченную поддержку интерактивной обработки и, как таковой, не очень хорошо подходит для использования в приложениях GUI . По той же причине также сложно использовать сборку в ограниченной среде, такой как веб-сервер, которая ограничивает или даже ограничивает выполнение внешних процессов. Загрузка и установка сборкиДля начала нужно скачать и установить сборку. Использование классов из сборки WinSCP .NET
После открытия сеанса вы можете использовать любой из методов Классы Пространство имен: Генерирующий кодВы можете заставить 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.com [/ script = script_file] [/ command command1 command2 ...] [/ параметр // параметр1 ...] winscp.com [/ log = СессияПервый синтаксис открывает сайт. Чтобы открыть сайт, хранящийся в папке, используйте синтаксис пути «папка / сайт». Вы также можете открыть рабочую область или все сайты в папке сайта. Второй создает сеанс, указанный URL-адресом сеанса и, необязательно, начальным удаленным путем.Если удаленный путь не заканчивается косой чертой ( Параметр Если уже запущен неактивный экземпляр WinSCP, сеанс (ы) открывается в существующем экземпляре. Чтобы принудительно открыть сеанс в новом экземпляре WinSCP, используйте параметр Параметр Параметр Параметр Если сертификат TLS / SSL сервера FTPS или WebDAVS не является доверенным (обычно это самозаверяющий сертификат), используйте параметр Параметр Параметры Параметр Параметр При использовании сценариев используйте вместо этого команду 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]/ Лесозаготовки С помощью параметра Используйте параметр Используйте параметр winscp.exe sftp: //[email protected]/ /log="C:\winscp.log "/ loglevel = 0 С помощью параметра Используйте параметр Консоль / режим сценария Параметр Для запуска пакетного сценария либо передайте файл сценария, используя параметр Если используются оба параметра: Используйте параметр С Используйте параметр 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 .Они не предназначены для автоматизации, для этого см. Сценарии. Используйте Используйте С параметром С параметром Используйте параметр Используйте параметр Рекомендуется избегать аргументов с помощью // переключателя. winscp.exe / defaults / synchronize // «C: \ Users \ martin \ Documents \ MySite» / home / martin / public_html Конфигурация С помощью параметра winscp.exe /ini="C:\Users\martin\Documents\myconfig.ini " Используйте С помощью параметра С Массовая модификация сайтов Используйте Например, чтобы настроить прокси для всех сайтов в папке «клиенты», используйте: winscp.exe / batchsettings clients / * ProxyMethod = 3 ProxyHost = прокси Преобразование и изменение закрытого ключа Используйте переключатель Параметр после переключателя При преобразовании ключа из другого формата вам необходимо указать путь ключа вывода с помощью переключателя Используйте переключатель Используйте переключатель Например, для преобразования ключа winscp.com / keygen mykey.pem /output=mykey.ppk / comment = "Преобразовано из формата OpenSSH" Чтобы изменить кодовую фразу существующего winscp.com / keygen mykey.ppk / changepassphrase Для совместимости с * nix winscp.com / keygen mykey.pem -o mykey.ppk -c «Преобразовано из формата OpenSSH» Вспомогательный При запуске с параметром Параметр СинтаксисПараметры командной строки, содержащие пробелы, должны быть заключены в двойные кавычки: winscp.exe /ini="C:\Users\martin\Documents\myconfig.ini " Чтобы использовать двойные кавычки в качестве литерала, используйте две двойные кавычки последовательно. Например, winscp.com / команда "открыть sftp: //... -hostkey = "" ssh-rsa ... "" "" положить "" C: \ my file.dat "" " <- Команда сценария 1 -> <- Команда сценария 2 -> При выполнении такой команды из PowerShell вам дополнительно необходимо экранировать двойные внутренние двойные кавычки с помощью winscp.com / command "open sftp: // ... -hostkey =` "` "ssh-rsa ...` "" "" "put` "` "C: \ my file.dat`" `" " <- Команда сценария 1 -> <- Команда сценария 2 -> Для отладки квотирования включите ведение журнала сеанса на уровне Отладка 1 ( Аргумент, начинающийся с косой черты, считается переключателем. Чтобы передать параметр, который сам начинается с косой черты в своем синтаксисе (т.е. удаленный путь, например winscp.exe / synchronize // "C: \ Users \ martin \ Documents \ MySite" / root Исполняемые файлы Узнайте о двух исполняемых файлах WinSCP, ПодсказкаЕсли вы собираетесь часто запускать WinSCP из командной строки, вы можете добавить каталог установки WinSCP в путь поиска. . |