USBプリンタのデバイスファイル名を取得して任意のファイルを送る例
usbprint.js
<-- ここから
function main(args)
{
var locator, server, sw, em, fso, ws;
var dids;
var cmd, port;
fso = new ActiveXObject("Scripting.FileSystemObject");
ws = new ActiveXObject("WScript.Shell");
if (!fso.FileExists(args(0)))
{
WScript.StdOut.write("[ERRO] File not found.\n");
return;
}
WScript.StdOut.write("[INFO] USB Print port scan...");
locator = new ActiveXObject("WbemScripting.SWbemLocator");
server = locator.ConnectServer(null, "root\\CIMV2");
sw = server.ExecQuery("Select * From Win32_PnPEntity Where Service=\"usbprint\"");
em = new Enumerator(sw);
dids = new Array();
WScript.StdOut.write("finish.\n");
while (!em.atEnd())
{
dids.push(em.item().DeviceId);
em.moveNext();
}
switch (dids.length)
{
case 1:
port = "\\\\?\\" + dids[0].replace(/\\/g, "#") + "#{28d78fad-5a12-11d1-ae5b-0000f803a8c2}";
WScript.StdOut.write("[INFO] Found port :" + port + "\n");
cmd = "cmd.exe /c copy /b \"" + args(0) + "\" \"" + port + "\""
ws.Run(cmd, 1, true);
WScript.StdOut.write("[INFO] Exec command :" + cmd + "\n");
break;
default:
WScript.StdOut.write("[ERRO] Found port count :" + dids.length + "\n");
break;
}
}