C# 为什么.bat文件有效而C代码无效';不适用于文件夹映射

C# 为什么.bat文件有效而C代码无效';不适用于文件夹映射,c#,batch-file,mapping,C#,Batch File,Mapping,我用C#编写了一个代码,将Drobo驱动器映射到我的机器上,但它不起作用。但bat文件中使用的类似代码行可以工作和映射 我想知道C#代码和.bat文件代码之间是否存在差异,这使得代码能够用于映射 在过去,我也用C#编写代码,用于从Drobo移动文件,但.bat文件代码起作用 来自C#的代码: VB代码: @echo off net use N: \\DroboNS2\Folder /USER:Credentials /persistent:yes 文件(.exe和.bat)都放在启动文件夹中并

我用C#编写了一个代码,将Drobo驱动器映射到我的机器上,但它不起作用。但bat文件中使用的类似代码行可以工作和映射

我想知道C#代码和.bat文件代码之间是否存在差异,这使得代码能够用于映射

在过去,我也用C#编写代码,用于从Drobo移动文件,但.bat文件代码起作用

来自C#的代码:

VB代码:

@echo off
net use N: \\DroboNS2\Folder /USER:Credentials /persistent:yes
文件(.exe和.bat)都放在启动文件夹中并进行测试。

这将起作用

using (Process process = Process.Start("net.exe", @"use N: \\DroboNS2\Folder /USER:credentials /PERSISTENT:YES"))
    process.WaitForExit();

net
是一个过程,您应该能够使
net
成为您的
FileName
和其他所有参数。我很确定我以前见过这样解决问题,人们试图使用
cmd
调用命令,而命令本身实际上是一个过程。“不起作用”是一个非常弱的问题描述。您得到的实际错误消息/结果/行为是什么?net(或者更确切地说是net.exe)是一个可执行文件。可执行文件可以直接执行。无需仅为了让cmd.exe执行net.exe而执行cmd.exe,因为net.exe可以直接执行。(是的,我写下这条评论几乎是在精神上折磨自己;-))试试下面的方法:psi.FileName=“c:\Windows\System32\cmd.exe”;我不知道网络是一个过程。谢谢你让我知道。
using (Process process = Process.Start("net.exe", @"use N: \\DroboNS2\Folder /USER:credentials /PERSISTENT:YES"))
    process.WaitForExit();