当前位置: 首页 > 知识库问答 >
问题:

为节点中安装的网络驱动器设置路径

盛骏祥
2023-03-14

我正在尝试使用windows网络驱动器模块和fs模块写入映射的网络驱动器。

networkDrive.mount('\\\\server', 'Z', 'username', 'password')
  .then(driveLetter => {

  let filePath;

  filePath = path.join(driveLetter + ":\\path\\to\\directory", "message.txt");

  fs.writeFile(filePath, "text", (err) => {
    if (err) throw err;
    console.log('The file has been saved!');
  });
})
.catch(err => {
  console.log(err)
});

如何获取写入远程位置的连接和路径?

我需要通过驱动器号吗?如果是,我如何找到它?

(节点: 4796)未处理的promise拒绝警告:
ChildProcessError:命令失败:net use Z:"\server" /P: Yes /user:用户名密码系统错误67已经发生。

找不到网络名称。

net使用Z:“\server”/P:Yes/user:username-password(退出时出现错误代码2)
在回调时(C:\app\location\node\u modules\child-process-promise\lib\index.js:33:27)
在ChildProcess时。exithandler(child_process.js:279:5)
位于ChildProcess。在maybeClose处发出(events.js:159:13)
在进程处发出(internal/child_process.js:943:16)
。儿童过程_手柄onexit(internal/child_process.js:220:5)
名称:'ChildProcessError',
代码:2,
childProcess:

{ChildProcess:{[Function:ChildProcess]super:[Function]}、
fork:[Function]、
exec:[Function]、
execFile:[Function]、
spawn:[Function:spawnSync]、
execFileSync:[Function:execFileSync]、
execSync:[Function:execesync]、

stderr:'发生系统错误67。\r\n\r\n找不到网络名称。\r\n\r\n'}

另外,该代码记录了Z

networkDrive.mount('\\\\server\\path\\to\\directory', 'Z', 'mdadmin', 'Password1!')
  .then(function (driveLetter) {
    console.log(driveLetter);
    fs.writeFile('L_test.txt', 'list', (err) => {
      if (err) throw err
    })
});

共有2个答案

松骏俊
2023-03-14

我不确定你有什么错误,所以这里有几个提示,当你使用视窗网络驱动器。

转义特殊字符

Windows使用\分隔目录。\是JavaScript字符串中的特殊字符,必须按如下方式转义\\。e、 g.C:\文件。txt将是C:\\file。字符串中的txt。

尽可能使用POSIX分隔字符

由于读取带有转义\的路径会增加难度,我建议使用/来代替。windows网络驱动器应该可以处理这两个问题。e、 g.C:\文件。txt将是C:/file。字符串中的txt。

示例

我试图使这个匹配您的示例,但做了一些更改,以便它可以在任何windows计算机上运行。

let networkDrive = require("windows-network-drive");

/**
 * https://github.com/larrybahr/windows-network-drive
 * Mount the local C: as Z:
 */
networkDrive.mount("\\\\localhost\\c$", "Z", undefined, undefined)
    .then(function (driveLetter)
    {
        const fs = require("fs");
        const path = require("path");
        let filePath;

        /**
         * This will create a file at "Z:\message.txt" with the contents of "text"
         * NOTE: Make sure to escape '\' (e.g. "\\" will translate to "\")
         */
        filePath = path.join(driveLetter + ":\\", "message.txt");
        fs.writeFile(filePath, "text", (err) =>
        {
            if (err) throw err;
            console.log('The file has been saved!');
        });
    });
萧晔
2023-03-14

要从IIS中托管的REST服务进行写入,需要在服务器上正确设置权限。

  1. 您需要设置站点的应用程序池的标识

注意:如果通过操作系统将文件夹映射到网络驱动器号,则它仅在用户帐户级别定义。

fs.writeFile('X:/test.txt', 'text', (err) => {
  if (err) throw err
})

您必须写入完整路径

fs.writeFile('\\\\servername\\path\\to\\director\\test.txt', 'text', (err) => {
  if (err) throw err
})

注意:反斜杠需要转义,因此Windows文件系统将显示类似于\\servername\path\to\directory的内容。

P. S.这个答案包括来自用户l-bahr和Ctznkane525的建议。

 类似资料:
  • 本文向大家介绍centos7 无线网卡驱动的安装及无线网络的配置详解,包括了centos7 无线网卡驱动的安装及无线网络的配置详解的使用技巧和注意事项,需要的朋友参考一下 centos7 无线网卡驱动的安装及无线网络的配置 我的无线网卡的型号是:水星MERCURY 支持linux的驱动程序包是:RTL8188eus_USB_linux_v3.4.4_4749.20121105 1.首先查看网卡的信

  • 网络节点 服务基本没变动,除了 L3 服务需要配置为 dvr_snat 模式。 命名空间上会多一个专门的 snat-xxx 命名空间,处理来自计算节点的无 floating IP 的南北向流量。

  • 网络节点 网络节点担负着进行网络服务的任务,包括DHCP、路由和高级网络服务等。一般包括三个网桥:br-tun、br-int 和 br-ex。 $ sudo ovs-vsctl show49761e8e-031f-4a60-b838-28bb82aac7b7 Bridge br-int fail_mode: secure Port br-int

  • 网络节点 类似GRE模式下,br-eth1收到到达的网包,int-br-eth1和phy-br-eth1上分别进行vlan转换,保证到达br-int上的网包都是带有内部vlan tag,到达br-eth1上的都是带有外部vlan tag。br-ex则完成到OpenStack以外网络的连接。查看网桥信息,包括三个网桥,br-eth1、br-int和br-ex。 #ovs3bd78da8-d3b5-4

  • 网络节点 br-tun Bridge br-tun Port br-tun Interface br-tun type: internal Port patch-int Interface patch-int type: patch op

  • 我正在使用SeleniumWebDriver进行网站测试。现在我想在SeleniumWebDriver中设置TestNG。怎么可能呢?testng有JAR文件吗?