C# 删除远程计算机上的文件

C# 删除远程计算机上的文件,c#,file-io,C#,File Io,是否可以连接到远程计算机并从中删除文件?如果没有,是否有其他方法可以完成这项任务 一个想法是,我可以创建一个在每台机器上运行的服务,实现一个删除本地文件的方法,然后向该服务发送命令。如果可以通过标准unc网络路径访问该服务,那么这是最简单的方法\\machinename\c$\。您必须是计算机上的管理员才能访问该路径。这适用于System.IO对象(文件、目录等)如果它是局域网或VPN上的机器,则可以使用UNC路径,但必须知道每台机器的用户名和密码。您需要使用C#中的Win32 API连接到计算

是否可以连接到远程计算机并从中删除文件?如果没有,是否有其他方法可以完成这项任务


一个想法是,我可以创建一个在每台机器上运行的服务,实现一个删除本地文件的方法,然后向该服务发送命令。

如果可以通过标准unc网络路径访问该服务,那么这是最简单的方法<代码>\\machinename\c$\。您必须是计算机上的管理员才能访问该路径。这适用于System.IO对象(文件、目录等)

如果它是局域网或VPN上的机器,则可以使用UNC路径,但必须知道每台机器的用户名和密码。您需要使用C#中的Win32 API连接到计算机。连接后,您可以使用普通方法删除文件。只需指定文件
\\machine\c$\file.txt
的完整UNC路径即可


如果机器是跨网络的,而不是在您的局域网或VPN上,那么WCF听起来就像您正在寻找的。您可以通过“删除文件”操作创建服务合同。有一个很好的解决方案。

如果您无法访问网络共享,您可以创建一个批处理文件以远程执行

那么,蝙蝠先生

c:\
cd \Windows\system32\example\
rm *
和用于将bat复制到远程计算机并在那里执行

psexec \\example-computer -f -c remove.bat
psexec退出后,bat已在远程计算机上完成运行

psexec使用netbios,因此您应该能够启动到远程计算机的netbios会话