在C#/Python中重命名远程文件服务器上的文件

在C#/Python中重命名远程文件服务器上的文件,c#,python,file,rename,fileserver,C#,Python,File,Rename,Fileserver,我需要在Windows文件服务器上重命名一整堆文件-我不在乎我真正使用的是什么语言,只要它快速简单 我知道这是基本的,但只是澄清一下-在伪代码中 server = login (fileserver, creds) foreach (file in server.navigateToDir(dir)) rename(file) 如果我是本地用户,我知道如何在Python/C中实现这一点,但不知道是否可以使用Python远程实现这一点。我已经搜索了代码片段/帮助,但还没有找到 谢谢。使

我需要在Windows文件服务器上重命名一整堆文件-我不在乎我真正使用的是什么语言,只要它快速简单

我知道这是基本的,但只是澄清一下-在伪代码中

server = login (fileserver, creds)

foreach (file in server.navigateToDir(dir))
    rename(file)
如果我是本地用户,我知道如何在Python/C中实现这一点,但不知道是否可以使用Python远程实现这一点。我已经搜索了代码片段/帮助,但还没有找到


谢谢。

使用\\servername\sharename\somefile.foo作为文件名-前提是您有权连接到它并在windows上运行


您还可以映射网络驱动器,并将其视为任何其他本地驱动器(y:\sharename\somefile.foo)

以下操作将重命名给定文件夹路径的每个子目录中的文件。它将文件从给定的文件名(如“blah.txt”)重命名为foldername+扩展名

注意。Z可以是本地驱动器或网络驱动器(即,如果文件夹位于文件服务器上,请将网络驱动器映射到它)

例如,从一个shell

python renamer.py "Z:\\FolderCollectionInHere" blah.txt csv
。。。将“Z:\FolderCollectionHere”的每个直接子目录中的文件“blah.txt”重命名为.csv


如果需要本地执行代码的性能,还可以使用PSEXEC在服务器上远程执行代码。请参见

看一看,它为本地和远程文件系统提供了一致的接口。

使用代码进行服务器登录风险很大,简单的方法是将驱动器映射到共享文件夹,并以与本地文件相同的方式进行操作。您是否正在寻找一种方法,让服务器远程重命名文件,而无需客户端访问任何文件?如果这是黑客代码/风险代码,我很高兴-这只是对我的用户目录中的许多文件执行一次性批处理。这将从客户端运行。将驱动器映射到文件夹是一个好主意,我会尝试一下。Lazarus-将驱动器映射到文件夹很有效。如果你愿意提出这个问题作为我问题的答案,我将给予你信任。谢谢。使用\\servername\sharename\somefile.foo这样的直接路径不起作用。
import os
import sys

class Renamer:
    def start(self, args):
        os.chdir(args[1])
        dirs = os.listdir(".")

        for dir in dirs:
            try:
                os.rename(dir + "\\" + args[2], dir + "\\" + dir + "." + args[3])
                print "Renamed file in directory: " + dir
            except Exception:
                print "Couldn't find file to rename in directory: " + dir

Renamer().start(sys.argv)