最近的这个项目中有一要求就是要将数据放在局域网上共享,使其它机器来访问。这样就必须要将文件夹共享,本来是考虑用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 + "/"";
新闻热点
疑难解答
图片精选