C# 为什么.bat文件有效而C代码无效';不适用于文件夹映射
我用C#编写了一个代码,将Drobo驱动器映射到我的机器上,但它不起作用。但bat文件中使用的类似代码行可以工作和映射 我想知道C#代码和.bat文件代码之间是否存在差异,这使得代码能够用于映射 在过去,我也用C#编写代码,用于从Drobo移动文件,但.bat文件代码起作用 来自C#的代码: VB代码: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)都放在启动文件夹中并
@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();