尝试将文件从我的计算机复制到同一网络上的另一台计算机
Trying to copy a file from my computer to another computer on the same network
这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
try
{
File.Copy(@"C:\Documents and Settings\subhayan\Desktop\QBpluginlink.txt", @"\10.10.10.148\C:\QBpluginlink.txt", true);
}
catch (Exception ex)
{
}
}
执行此代码时出现异常
The given path's format is not supported
谁能告诉我我哪里弄错了?
问题是您要将文件复制到的 UNC 路径中的 C:
。您可以将其更改为目标计算机上的有效共享,也可以使用管理共享(如果已启用并且帐户有足够的权限这样做):
@"\10.10.10.48\ValidShareName\QBpluginlink.txt", // Valid share name
@"\10.10.10.48\C$\QBpluginlink.txt", // Administrative share
即使您在 windows 资源管理器中尝试,该路径也不会起作用。如果您有权限尝试正确的文件共享 UNC 路径:
\10.10.10.148\c$\QBpluginlink.txt
请注意 c$
,它是 windows 设置的默认管理共享,用于访问 C:
驱动器 - 但您需要正确的权限。或者根据 Markus 的回答创建一个特定的共享。
目标必须是有效的文件路径,在您的情况下是有效的 UNC 路径。
"\10.10.10.48\C:\QBpluginlink.txt" 无效,因为您正在引用该计算机的 c: 驱动器,您需要在目标服务器中创建一个共享文件夹并使用该路径。
或者使用默认驱动器共享:例如\10.10.10.48\C$\QBpluginlink.txt
来自 MSDN:
string fileName = @"QBpluginlink.txt";
string sourcePath = @"C:\Documents and Settings\subhayan\Desktop";
string targetPath = @"\10.10.10.148\C$";
// Use Path class to manipulate file and directory paths.
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);
// To copy a folder's contents to a new location:
// Create a new target folder, if necessary.
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}
// To copy a file to another location and
// overwrite the destination file if it already exists.
System.IO.File.Copy(sourceFile, destFile, true);
请确保您有权将文件复制到服务器
这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
try
{
File.Copy(@"C:\Documents and Settings\subhayan\Desktop\QBpluginlink.txt", @"\10.10.10.148\C:\QBpluginlink.txt", true);
}
catch (Exception ex)
{
}
}
执行此代码时出现异常
The given path's format is not supported
谁能告诉我我哪里弄错了?
问题是您要将文件复制到的 UNC 路径中的 C:
。您可以将其更改为目标计算机上的有效共享,也可以使用管理共享(如果已启用并且帐户有足够的权限这样做):
@"\10.10.10.48\ValidShareName\QBpluginlink.txt", // Valid share name
@"\10.10.10.48\C$\QBpluginlink.txt", // Administrative share
即使您在 windows 资源管理器中尝试,该路径也不会起作用。如果您有权限尝试正确的文件共享 UNC 路径:
\10.10.10.148\c$\QBpluginlink.txt
请注意 c$
,它是 windows 设置的默认管理共享,用于访问 C:
驱动器 - 但您需要正确的权限。或者根据 Markus 的回答创建一个特定的共享。
目标必须是有效的文件路径,在您的情况下是有效的 UNC 路径。
"\10.10.10.48\C:\QBpluginlink.txt" 无效,因为您正在引用该计算机的 c: 驱动器,您需要在目标服务器中创建一个共享文件夹并使用该路径。
或者使用默认驱动器共享:例如\10.10.10.48\C$\QBpluginlink.txt
来自 MSDN:
string fileName = @"QBpluginlink.txt";
string sourcePath = @"C:\Documents and Settings\subhayan\Desktop";
string targetPath = @"\10.10.10.148\C$";
// Use Path class to manipulate file and directory paths.
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);
// To copy a folder's contents to a new location:
// Create a new target folder, if necessary.
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}
// To copy a file to another location and
// overwrite the destination file if it already exists.
System.IO.File.Copy(sourceFile, destFile, true);
请确保您有权将文件复制到服务器