В чем разница между методами "Отправить" и "Копировать или вырезать и вставить" в Windows?
Я гуглил и нашел несколько ответов. Но я до сих пор не понимаю, что такое "отправить" или "скопировать и вставить".
- Во время копирования и вставки, когда вы копируете что-то, оно будет сохранено в буфере обмена, и вы сможете создать множество его копий.
- Во время вырезания и вставки, когда вы что-то вырезаете, оно будет сохранено в буфере обмена, и вы сможете создать только одну его копию.
- Копирование и вставка не имеют ограничений в Windows, то есть мы можем копировать любые файлы / папки и вставлять (или перемещать) их в любое место.
- Метод "Отправить" специально используется для перемещения файлов / папок в "Мои документы", на рабочий стол, в почтовый клиент, устройство подключения, внешние накопители, в мастер веб-публикаций, даже для их преобразования в сжатый архив.
- Но есть большая разница между ними. Как правило, мы можем прикреплять файлы по почте, используя функцию вложения. Но используя "отправить", мы можем напрямую прикрепить файл к почте.
В чем заключается оперативная разница между Send To и Copy/Paste? Как эти две операции обрабатываются в операционной системе при их выполнении?
3 ответа
Copy-paste и Send To - довольно широкие понятия.
Операциивырезания, копирования и вставки связаны с буфером обмена - специальной областью, где различные элементы могут быть временно сохранены после вырезания или копирования.
Что на самом деле делают операции вырезания и копирования, зависит от того, к чему вы их применяете. Например, в Блокноте, если вы вырезаете какой-то текст, он сразу же удаляется из окна Блокнота и помещается в буфер обмена. Копирование этого создаст копию в буфере обмена, но без удаления исходного текста. Текст в буфере обмена будет помечен как обычный текст. Вы можете вставить его столько раз, сколько захотите, независимо от того, вырезали вы его или скопировали. Буфер обмена выглядит так:
Простой текст: быстрая коричневая лиса перепрыгивает через ленивую собаку.
В Word, если вы вырезаете или копируете что-то, оно тоже попадет в буфер обмена, но будет помечено как изображение, таблица, отформатированный текст или что-то еще.
Отформатированный текст: быстрая коричневая лиса перепрыгивает через ленивую собаку.
Вставка содержимого из Word в Блокнот удалит форматирование, сделав его простым текстом. В обратном случае Word спросит, какой стиль вы хотите применить - обычный текст не имеет форматирования, но все в документе Word имеет.
Аналогичные правила применяются к картинкам. Вы можете вырезать их один раз или скопировать, а затем вставлять бесконечное количество раз. Изображение - это всегда картинка, поэтому проблем с форматированием нет. Вы не можете вставить изображение в Блокнот (потому что это не обычный текст), но вы можете вставить его в Word (форматирование будет применено автоматически).
Файлы также работают таким образом, но, как вы заметили, если вы вырезали файл, вы можете вставить его только один раз (чего не было в предыдущих примерах). Причина такого поведения на самом деле довольно проста.
Допустим, у вас есть 256 МБ ОЗУ (я знаю, что сегодня это маловероятно, но давайте предположим, что ради этого примера). Вы хотите скопировать файл в другую папку, но размер файла составляет около 1 ГБ - в четыре раза больше, чем ваша общая память, не говоря уже о свободной памяти. Теперь это не сработает. Более того, даже если файл помещается в ОЗУ, перемещение его таким образом будет опасным, поскольку буфер обмена теряется после завершения работы, поэтому отключение питания может привести к повреждению некоторых важных файлов, если это произойдет во время процедуры копирования и вставки.
На самом деле, когда вы вырезаете или копируете файл, его путь помещается в буфер обмена с дополнительной аннотацией, чтобы удалить оригинал после вставки его в другое место. Таким образом, у вас нет всего файла в буфере обмена, только его путь и некоторые сведения о том, что с ним делать:
Файл: C: \ MyFile.txt, не удаляйте оригинал после его вставки куда-либо.
или если вы обрежете его вместо копирования:
Файл: D: \ Videos \ BigBuckBunny.mp4, удалите оригинал, вставив его куда-нибудь.
При вставке вырезанного файла путь из буфера обмена разрешается, и файл перемещается или копируется. Есть два основных последствия: во-первых, поэтому вы можете вставить вырезанные файлы только один раз - путь все еще находится в буфере обмена, но его больше нет на жестком диске. Во-вторых, вырезанный файл не исчезает мгновенно, но когда он вставляется в другое место - если вы изменяете его тем временем, измененный файл будет перемещен.
Теперь Send To не намного сложнее. Подобно тому, как приложения могут помещать в буфер обмена различные типы данных, Send To может иметь множество видов целей. Он реализован грязным и хакерским способом, но было бы трудно сделать это другим способом, сохранив его функциональность.
Цели Send To на самом деле представляют собой файлы в некотором каталоге, вы должны увидеть их, набрав это в меню "Пуск" и нажав Enter:
%appdata%\Microsoft\Windows\SendTo
Вы заметите, что некоторые из этих файлов являются ярлыками, а некоторые нет. Что касается ярлыков, то все просто - когда файл отправляется ему через контекстное меню, он передается в качестве аргумента цели ярлыка. Вся дальнейшая обработка остается за этим приложением, Windows больше не участвует.
Об этих файлах, которые не являются ярлыками, - это особые файлы, которые обрабатываются Explorer (приложением, которое отвечает за отображение рабочего стола и меню "Пуск"). Если вы выберете " Отправить" -> "Документы", Explorer обработает ваш запрос и создаст копию файла. Детали этой операции зависят от того, как Проводник ее обрабатывает, возможно, это просто операция копирования файла. (Я имею в виду только чистое копирование пути пути, без буфера обмена - программы не должны использовать буфер обмена, если вы точно знаете, куда копировать файл, буфер обмена - это просто временное место для пути исходного файла, если вы не знаете цель еще)
Короче говоря, разница в том, что копировать / вырезать-вставить обычно проще в использовании (так как он имеет сочетание клавиш), но их результаты также более предсказуемы, чем "Отправить".
При использовании команды "Отправить в" то, что происходит с файлом, определяется выбранной программой в меню.
Однако функция копирования / вырезания / вставки (clipboard-) ничего не делает с файлом (ofc, если вы не вырезали), и то, как файл используется, определяется целевым программным обеспечением, в которое вы вставляете.
Функцию "Отправить" можно рассматривать как грязный вариант функции "поделиться", которую современные операционные системы смартфонов имеют для своих приложений. Отправить в Windows можно (чаще всего) использовать как "открыть с помощью" или "копировать / вырезать в".
Если у вас есть записывающее программное обеспечение или Bluetooth-адаптер, вы можете отправлять файлы образов дисков или другие файлы в записывающее программное обеспечение для записи или в "Bluetooth" для передачи по Bluetooth.
Это происходило задолго до того, как перетаскивание файлов в окно программы поддерживалось в современных (настольных) операционных системах.
По моему мнению, это избыточная функция, которая должна быть устаревшей и отмененной.
Вырезание / копирование и вставка используются для перемещения файлов по диску; меню "Отправить" обычно используется для указания пути к файлу приложения, чтобы его можно было использовать каким-либо образом.
Пока файл не защищен Windows (то есть системный файл), команды вырезать / копировать / вставить можно использовать для перемещения или репликации его в любую другую папку на диске. Нет оценки содержимого файла или того, как его изменение может повлиять на любые программы, которые полагаются на его выполнение.
С другой стороны, меню "Отправить" отправляет путь файла к программе, сценарию или ярлыку в пользовательской папке "Отправить". Сам файл находится под контролем программы. Его можно открыть, прикрепить к электронному письму или использовать любым способом, который может понадобиться программе. Сам файл обычно не изменяется и не перемещается (хотя есть некоторые сценарии "Отправить", которые влияют на файл).
В случае записей "Отправить в (имя папки)" скрипт берет путь к выбранному файлу и копирует его в указанное место. Это отнимает большую часть работы за счет вырезания / копирования и вставки, поскольку пользователю не нужно просматривать папки.