使用gulp将图像文件的内容复制到剪贴板

时间:2015-01-24 14:35:30

标签: node.js gulp gulp-watch

我正在编写一个gulp任务来执行以下操作:

  • 观看图片文件以进行更改
  • 如果图像文件已更改,请将图像内容复制到剪贴板,以便我粘贴。

注意:我在Windows上使用nircmd.exe来复制图像内容。以下命令行适用于我:

nircmd.exe clipboard copyimage "G:\IMG\pic.png"

我已将其放入 .bat 文件中,以便我可以通过命令行运行该文件。

我的gulpfile(到目前为止):

var gulp = require('gulp'),
    watch = require('gulp-watch'),
    shell = require('gulp-shell'),
    run = require('gulp-run'),
    clipboard = require("gulp-clipboard"),
    myTerminal = require("child_process").exec,
    commandToBeExecuted = "./copy-to-clipboard.bat";

gulp.task('copy-to-clipboard', function () {
    require('child_process').spawn('cmd', ['/s', '/c', '"G:\\Git\\copy-to-clipboard\\copy-to-clipboard.bat"'], { 
      windowsVerbatimArguments: true
    });
});

gulp.task('default', function () {
    watch('watch/*.png','copy-to-clipboard');
});

我已尝试过 gulp-shell ,但由于这会打开一个节点终端,因此 nircmd.exe 不会被识别为内部或外部命令。

我还尝试了 child_process (包括spawn和exec),但是当我没有错误时,内容仍然不在剪贴板中。

是否有更简单的方法或者这是不可能的?

提前致谢!

1 个答案:

答案 0 :(得分:0)

听起来好像是在尝试运行它

    nircmd.exe is not recognised as an internal or external command.

错误。

我会在您的路径中添加nircmd.exe来修复它。 或者在您的bat文件中,您可以执行以下操作:

    c:\path\to\program\nircmd.exe 

可能会修复它。

如果您打算使用nircmd,我会将其添加到您的路径中。