在批处理文件中使用 CLIP 命令

Posted

技术标签:

【中文标题】在批处理文件中使用 CLIP 命令【英文标题】:Using CLIP command within a Batch File 【发布时间】:2015-04-30 14:34:26 【问题描述】:

我正在尝试编写一个批处理文件来执行以下操作:

    将给定文件(拖放或通过“发送到”选项)复制到预定义的网络驱动器 构建文件路径字符串 将文件路径复制到剪贴板

这是我目前所拥有的:

@ECHO OFF
ECHO "%~1"
ECHO "Uploading File..."
COPY "%~1" "PATH_TO_NETWORK_DRIVE"
SET "path=PATH_TO_NETWORK_DRIVE"
SET "file=%~nx1"
SET "link=%path%%file%"
ECHO %link%> "I:\filepath.txt"
START "I:\filepath.txt"

只要将文件复制到正确的位置并创建包含路径字符串的文本文件,上述操作即可。我只使用外部文本文件和上面的 START 命令纯粹是因为我在将文本文件复制到剪贴板时遇到了障碍,尝试了 CLIP 命令的多种变体。我试过了:

ECHO %link%| clip

clip < "I:\filepath.txt"

type "I:\filepath.txt" | clip

上述方法都不适合我,尽管这里的其他线程建议他们应该这样做。在批处理文件中使用 CLIP 是否有限制?有什么解决方法吗?非常感谢我能得到的任何帮助:)

【问题讨论】:

当你说它不起作用时,你期待什么以及实际发生了什么? 嗨@aphoria - 我希望在批处理文件运行并关闭后,我应该能够粘贴,比如说,电子邮件和文件路径应该从剪贴板粘贴,但这是没有发生;要么什么都没有出现,要么我在运行批处理文件之前复制的最后一件事被粘贴了:( 以上;我曾尝试直接从命令提示符使用剪辑命令,它工作正常,这就是为什么我假设批处理文件有限制。 【参考方案1】:

你正在用这个语句清除你的系统path,所以你的批处理文件可能找不到CLIP.EXE

SET "path=PATH_TO_NETWORK_DRIVE"

将其更改为mypath(或任何其他名称):

SET "mypath=PATH_TO_NETWORK_DRIVE"

另外,将所有引用从 %path% 更改为 %mypath%

【讨论】:

你美女,谢谢一百万;现在像魅力一样工作,无需文本文件 - 只需使用 ECHO %link%| clip

以上是关于在批处理文件中使用 CLIP 命令的主要内容,如果未能解决你的问题,请参考以下文章

为批处理文件转义括号内的括号

在批处理文件中怎么使用嵌套for命令?

bat文件命令大全

如何在批处理文件中使用启动命令?

在 Windows 7 的批处理文件中使用启动命令后,“没有足够的存储空间来处理此命令”

在 Windows 命令行中使用批处理文件中的参数