日期:2014-05-19  浏览次数:20897 次

如何以指定的用户,在远程的共享文件夹中创建文件? 请教高手,郁闷好久了。。。
我在远程机器上添加了一个共享文件夹,给指定的一个用户添加了写权限。

我要用C#在这个共享文件夹中创建一个文件,如何才能以制定的域用户名和密码在这个共享文件夹中创建文件?

请教高手,被郁闷好久了。

------解决方案--------------------
可以用DOS命令中 net use 来建立用户连接,建立完毕后,net .../delete就是了。

DOS命令做这类事情,实际上比程序都快,也稳定,呵呵~~
===================================================================
如何用.NET的Process编写在DOS命令提示符(CMD)下要运行的命令???
C#
Process.Start( "cmd.exe ", "/k dir ");
Vb.Net
Process.Start( "cmd.exe ", "/k dir ")

或者拆开写

Dim p As New Process
p.StartInfo.FileName = "cmd.exe "
p.StartInfo.CreateNoWindow = True
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardError = True
'p.StartInfo.Arguments = "dos命令 "
p.Start()


c#中的Process类可方便的调用外部程序,所以我们可以通过调用cmd.exe程序
http://www.vipcn.com/InfoView/Article_90062.html
加入参数 "/c " + 要执行的命令来执行一个dos命令
(/c代表执行参数指定的命令后关闭cmd.exe /k参数则不关闭cmd.exe)

private string RunCmd(string command)
{
//實例一個Process類,啟動一個獨立進程
Process p = new Process();

//Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:

p.StartInfo.FileName = "cmd.exe "; //設定程序名
p.StartInfo.Arguments = "/c " + command; //設定程式執行參數
p.StartInfo.UseShellExecute = false; //關閉Shell的使用
p.StartInfo.RedirectStandardInput = true; //重定向標準輸入
p.StartInfo.RedirectStandardOutput = true; //重定向標準輸出
p.StartInfo.RedirectStandardError = true; //重定向錯誤輸出
p.StartInfo.CreateNoWindow = true; //設置不顯示窗口

p.Start(); //啟動

//p.StandardInput.WriteLine(command); //也可以用這種方式輸入要執行的命令
//p.StandardInput.WriteLine( "exit "); //不過要記得加上Exit要不然下一行程式執行的時候會當機

return p.StandardOutput.ReadToEnd(); //從輸出流取得命令執行結果
}

或者VB.Net独有的Shell都可以实现类似功能
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
Email:loving-kiss@163.com
优惠接单开发,收费带初学者,组件控件定制开发,成品源代码批发
联系方式:Q64180940(请清楚注明业务还是技术咨询) 全天在线
==================================================================
------解决方案--------------------
以下仅供参考
----------------------
在目录机器创建webservice

using LocalNetManager;

string BackUpRoot = "D:\Back ";
if(!BackUpRoot.EndsWith(@ "\ "))BackUpRoot += @ "\ ";
LocalNetManager.CLocalNetManagerClass clo = new CLocalNetManagerClass();
通过clo的方法验证用户名密码
string vmpath = BackUpRoot + "user ";
if(!Directory.Exists(vmpath))
{
//创建服务器备份目录
Directory.CreateDirectory(vmpath);
}
------解决方案--------------------
个人认为net use是最好用的了
如果你不喜欢可以参考一下WMI