我正在开展一个项目,以研究从驻留在内部SharePoint网站上的html页面向用户部署打印机的其他方法。
我发现有人发布了一些似乎运行良好的代码,但我想看看我是否可以稍微更改它以更好地满足我们的需求,从而可以更清晰地创建数百个新的打印机安装链接。
这对我们有用。
var WshNetwork = new ActiveXObject("WScript.Network");
var PrinterPath = "\\\\printserver-a\\printer-a";
WshNetwork.AddWindowsPrinterConnection(PrinterPath); //Does the adding of the printer
WshNetwork.SetDefaultPrinter(PrinterPath); //Sets printer as system default
我不想修改PrinterPath变量,而是提前定义的是PrintServer变量和Printer变量,然后将这两个变量合并到打印机路径中列出的第3个变量中。
我已经尝试了一些我见过的例子,并且已经与一位对JavaScript有更好理解的同事交谈,但找不到任何适合我的事情。 我在想这样的事情。
var PrintServer = "printserver-a";
var Printer = "printer-a";
var WshNetwork = new ActiveXObject("WScript.Network");
var PrinterPath = "\\\\PrintServer\\Printer";
WshNetwork.AddWindowsPrinterConnection(PrinterPath); //Does the adding of the printer
WshNetwork.SetDefaultPrinter(PrinterPath); //Sets printer as system default
但这不适合我,我希望看到我失踪的是什么。我对JavaScript一无所知,但发现这对我们来说是最好的解决方案之一。
答案 0 :(得分:1)
union此处有效:
var PrinterPath = `\\\\${PrintServer}\\${Printer}`;
或者,字符串连接:
var PrinterPath = "\\\\" + PrintServer + "\\" + Printer;
答案 1 :(得分:0)
您可以尝试模板文字
passport.use(new LocalStrategy(
function(username, password, done) {
User.getUserByUsername(username, function(err, user){
if(err) throw err;
if(!user){
return done(null, false, {message: 'Unknown User'});
}
User.comparePassword(password, user.password, function(err, isMatch){
if(err) throw err;
if(isMatch){
return done(null, user);
} else {
return done(null, false, {message: 'Invalid password'});
}
});
});
}));
这将评估您的变量是否为字符串 您可以阅读here
答案 2 :(得分:0)
您可以使用基本的string concatenation,也可以使用template literals。不同之处在于模板文字对JavaScript来说是新手,并且根本不支持Internet Explorer,只是现代浏览器。您可以查看compatibility table。 您必须进行的更改只是以下行。下面我列出了两种解决方案。
使用字符串连接:
var PrinterPath = "\\\\" + PrintServer + "\\" + Printer;
使用模板文字:
var PrinterPath = `\\\\${PrintServer}\\${Printer}`;
答案 3 :(得分:0)
看起来你想要将几个字符串连接在一起。这是在JavaScript中实现这一目标的一种方法:
var PrintServer = 'printserver-a';
var Printer = 'printer-a';
var PrinterPath = '\\\\' + PrintServer + '\\' + Printer;
在现代JavaScript(又名ES6)中,您可以使用模板文字来完成您想要的任务,例如:
var PrintServer = 'printserver-a';
var Printer = 'printer-a';
var PrinterPath = `\\\\${Printer}\\${Printer}`;
请注意,PrinterPath必须使用反引号而不是单引号。
现在这里是一个未经请求的提示,因为你刚刚开始学习JavaScript:JS中的一般约定是使用非大写的变量名称(例外情况是&# 34;类"功能)。