Windows 中的“发送到”和“复制或剪切和粘贴”方法有什么区别?

Raj*_*dev 7 windows clipboard send-to copy-paste

我已经谷歌搜索并找到了几个答案。但我仍然不清楚“发送到”与“复制和粘贴”。

  • 在复制和粘贴过程中,当您复制某些内容时,它会存储在剪贴板中,您可以创建多个副本。
  • 在剪切和粘贴过程中,当你剪切某些东西时,它会被存储在剪贴板中,你只能创建它的一个副本。
  • 复制和粘贴在 Windows 中没有限制,即我们可以复制任何文件/文件夹并将它们粘贴(或移动)到任何需要的地方。
  • “发送到”方法专门用于将文件/文件夹移动到我的文档、桌面、邮件客户端、连接设备、外部驱动器、Web 发布向导,甚至将其制成压缩存档。
  • 但两者之间存在重大差异。通常我们可以使用附件工具在邮件中附加文件。但是使用“发送到”,我们可以直接将文件附加到邮件中。

发送到和复制/粘贴之间的操作区别是什么?这两个操作在执行时在操作系统中是如何处理的?

gro*_*taj 6

复制粘贴发送到都是相当广泛的概念。

剪切、复制和粘贴操作与剪贴板有关——剪切或复制后可以临时存储各种项目的特殊区域。

剪切和复制操作的实际作用取决于您将它们应用于什么。例如在记事本中,如果您剪切一些文本,它会立即从记事本的窗口中删除并放入剪贴板。复制它将在剪贴板中创建一个副本,但不会删除原始文本。剪贴板中的文本将被标记为纯文本。您可以根据需要多次粘贴,无论是剪切还是复制。剪贴板看起来像这样:

纯文本:敏捷的棕色狐狸跳过懒惰的狗。

在 Word 中,如果您剪切或复制某些内容,它也会进入剪贴板,但会被标记为图像、表格、格式化文本或其他任何内容。

格式化文本:敏捷的棕色狐狸跳过懒惰的

将 Word 中的内容粘贴到记事本中将删除格式,使其成为纯文本。反向操作时,Word 会询问您要应用哪种样式 - 纯文本没有格式,但 Word 文档中的所有内容都有。

类似的规则适用于图片。您可以将它们剪切一次或复制它们,然后无限次粘贴。图片永远是图片,所以不存在格式问题。您无法将图片粘贴到记事本中(因为它不是纯文本),但您可以将其粘贴到 Word 中(格式将自动应用)。

文件也以这种方式工作,但正如您所注意到的,如果您剪切了一个文件,那么您只能将其粘贴一次(在前面的示例中并非如此)。这种行为的原因实际上很简单。

假设您有 256 MB 的 RAM(我知道今天不太可能,但为了这个例子,让我们假设它)。您想将一个文件复制到另一个文件夹,但该文件大约为 1 GB - 是您总内存的四倍,更不用说可用内存了。现在,它不会那样工作。更重要的是,即使文件适合RAM,以这种方式移动它也是危险的,因为剪贴板在关机后丢失,因此如果在复制粘贴过程中发生停电,则可能会破坏一些重要文件。

当您剪切或复制文件时,实际发生的情况是将其路径放入带有可选注释的剪贴板中,以便在将其粘贴到其他位置后删除原始文件。因此,剪贴板中没有整个文件,只有其路径和有关如何处理它的一些详细信息:

一个文件:C:\MyFile.txt,粘贴到某处后不要删除原始文件。

或者如果你剪切它而不是复制:

一个文件:D:\Videos\BigBuckBunny.mp4,粘贴到某处后删除原件。

当您粘贴一个被剪切的文件时,剪贴板中的路径被解析并且文件被移动或复制。有两个主要后果:首先,这就是您只能粘贴剪切文件一次的原因 - 路径仍在剪贴板中,但它不再存在于硬盘驱动器上。其次,剪切的文件不会立即消失,但是当它被粘贴到其他地方时——如果你同时修改它,修改后的文件将被移动。

现在,发送到也没有那么复杂。正如应用程序可以将不同类型的数据放入剪贴板一样,发送到可以有多种目标。它以一种肮脏和笨拙的方式实现,但很难以另一种方式实现,从而保留其功能。

Send To 目标实际上是某个目录中的文件,您应该通过在“开始”菜单中键入以下内容并按 来查看它们Enter

%appdata%\Microsoft\Windows\SendTo
Run Code Online (Sandbox Code Playgroud)

您会注意到其中一些文件是快捷方式,而另一些则不是。关于快捷方式,很简单——当文件通过上下文菜单发送给它时,它会作为参数传递给快捷方式的目标。所有进一步的处理都留给该应用程序,不再涉及 Windows。

关于这些不是快捷方式的文件 - 这些是由资源管理器(负责显示桌面和开始菜单的应用程序)处理的特殊文件。当您选择Send To -> Documents 时,Explorer 将处理您的请求并创建文件的副本。这个操作的细节取决于资源管理器如何处理它,它可能只是一个简单的文件复制操作。(我的意思只是纯粹的路径路径复制,不涉及剪贴板 - 如果您确切知道要复制文件的位置,则程序不必使用剪贴板,如果您不知道,剪贴板只是源文件路径的临时位置目标)