使用Process.Start在共享文件夹上执行文件

时间:2011-07-08 20:09:24

标签: c# process

我正在尝试使用Process.Start()启动一个新进程,当我传入时它很有用

   Process.Start("C:\\Documents and Settings\\Upload.exe")

但是当我将Upload.exe移动到“网上邻居”下的共享文件夹中时,是否可以执行相同的操作?我试过了

   Process.Start("\\Shared Folder\\Upload.exe");

但是我得到了Win32Exception。感谢您提前获取任何信息或建议。

3 个答案:

答案 0 :(得分:7)

您应该使用UNC路径来访问网络资源。 (当您将文件放在共享路径中时,您的文件将成为网络资源)

UNC路径采用以下形式。

\\ServerName\SharedPath\YourFile.exe

\\ServerName\D$\SharedPath\YourFile.exe

其中D $是驱动器号。

在您的情况下,您可能必须使用以下

Process.Start(@"\\Server-Name\Shared Folder\Upload.exe");

在字符串前面使用@符号,因为\\将被视为\,作为转义字符。

答案 1 :(得分:5)

尝试:"\\\\Shared Folder\\Upload.exe"@"\\Shared Folder\Upload.exe"

答案 2 :(得分:-5)

只需将其加载到本地临时文件夹中,然后在复制完成后运行该文件夹。它在性能方面不会产生很大的不同,因为远程加载需要下载整个文件。