C#中使用net share命令时要注意的问题

本文介绍如何利用.NET框架启动命令行的方式调用Windows下的NETSHARE命令来实现文件夹的共享,并解决了路径中包含空格的问题。

最近的这个项目中有一要求就是要将数据放在局域网上共享,使其它机器来访问。这样就必须要将文件夹共享,本来是考虑用API来实现共享,不过后发现太繁琐,所以采用了NET SHARE这条WINDOWS命令。

                System.Diagnostics.Process p = new System.Diagnostics.Process();
                p.StartInfo.FileName 
= "cmd";
                p.StartInfo.Arguments 
= " /c net share " + shareName + "=" +  sharePath;
                p.StartInfo.WindowStyle 
= System.Diagnostics.ProcessWindowStyle.Hidden;
                p.StartInfo.CreateNoWindow 
= true;
                p.StartInfo.UseShellExecute 
= false;
                p.StartInfo.RedirectStandardOutput 
= true;                
                p.Start();

                p.WaitForExit();

shareName:可以是任何有效的共享名。sharePath:是要共享的完整路径。
项目制作过程没有发现任何不对,但到了安装到program files目录下就出现问题了,不能正确的共享,排查发现是路径中有空格的原因。在网上找了一些文章,解决办法是加上引号即可:
 p.StartInfo.Arguments = " /c net share " + shareName + "=/"" +  sharePath + "/"";
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值