0

我正在编写一个 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),但是虽然我没有收到任何错误,但内容仍然不在剪贴板中。

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

提前致谢!

4

1 回答 1

0

如果你得到一个,这听起来像是它试图运行它

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

错误。

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

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

这可能会解决它。

如果您要使用 nircmd 那么多,我会将它添加到您的路径中。

于 2015-10-16T08:14:33.530 回答