我想把我的链接检查器测试写进咕噜里。我可以用powershell很好地执行它
& 'C:\Program Files (x86)\LinkChecker\linkchecker.exe' http://localhost:3000这是我的Gruntfile
module.exports = function (grunt) {
//load plugins
[
'grunt-cafe-mocha',
'grunt-contrib-jshint',
'grunt-exec',
].forEach(
function(task){
grunt.loadNpmTasks(task);
}
);
//configure plugins
grunt.initConfig(
{
/* cafemocha: {
all: {
src: 'qa/tests-*.js',
options: {
ui: 'tdd',
}
}
},*/
jshint: {
app: [
'meadowlark.js',
'public/js/**/*.js',
'lib/**/*.js',
],
qa: [
'Gruntfile.js',
'public/qa/**/*.js',
'qa/**/*.js,'
]
},
exec: {
linkchecker: {
cmd: '\& \'C:\\Program Files (x86)\\LinkChecker\\linkchecker.exe\' http://localhost:3000'
}
},
}
);
//register tasks
grunt.registerTask(
'default',
[/*'cafemocha',*/ 'jshint', 'exec']
);
};我真的很头疼,把那个链接检查器的调用整合成咕噜声。我试过几次拨打第39行的电话:
1.以全路逃离一切:
cmd: '& \'C:\\Program Files (x86)\\LinkChecker\\linkchecker.exe\' http://localhost:3000'结果:
"&“肯恩·桑塔克蒂什是个酒鬼与代码一起退出: 1。
翻译:无法处理&
2.用完全路径对所有内容和&进行转义:
cmd: '\& \'C:\\Program Files (x86)\\LinkChecker\\linkchecker.exe\' http://localhost:3000'结果:
^ W044不好或不必要的转义。
3.为linkchecker.exe路径设置一个局部变量:
cmd: '$env:linkchecker http://localhost:3000'结果:
�r den Dateinamen,Verzeichnisnamen�Die Datentr�gerbezeichnung ist falsch.与代码一起退出: 1。
翻译:局部变量$env:linkchecker没有被解析
4.将调用外包给脚本。
cmd: '.\\qa\\linkchecker.ps1'结果: linkchecker.ps1在编辑器中获得开放。
我也试过咕噜咕噜声。问题似乎是,咕哝必须把&传递到壳上。它不能处理&,用\&转义它也没有帮助。
发布于 2014-08-14 06:33:55
终于弄明白了:
cmd: '"C:\\Program Files (x86)\\LinkChecker\\linkchecker.exe" http://localhost:3000'发布于 2014-08-05 19:49:51
您是否尝试过在字符串的外部加上双引号(")和/或使用urlencoded & (%26)
发布于 2014-08-12 06:39:53
尝试将ps1文件变成bat文件。如果您有一个exe文件,不确定为什么需要PowerShell。
cmd: '.\\qa\\linkchecker.bat'..since您提到的文件是在文本编辑器中打开的。
还要知道您可以使用^ char来转义&。
https://stackoverflow.com/questions/25081078
复制相似问题