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

时间:2010-01-21 14:39:59

标签: c# python file rename fileserver

我需要在Windows文件服务器上重命名一大堆文件 - 我不介意我使用哪种语言,只要它快速简便!

我知道这是基本的,但只是为了澄清 - 用伪代码......

server = login (fileserver, creds)

foreach (file in server.navigateToDir(dir))
    rename(file)

如果我是本地用户,我知道如何在Python / C#中执行此操作,但不知道是否可以使用Python远程执行此操作。我搜索了代码片段/帮助但尚未找到。

感谢。

4 个答案:

答案 0 :(得分:1)

使用\\ servername \ sharename \ somefile.foo作为文件名 - 只要您有权连接到它并在Windows上运行。

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

答案 1 :(得分:1)

如果您需要执行本地执行的代码,您还可以使用PSEXEC在服务器上远程执行代码。见http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

答案 2 :(得分:1)

查看pyfilesytem,它为本地和远程文件系统提供了一致的界面。

答案 3 :(得分:0)

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

NB。 Z可以是本地驱动器或网络驱动器(即,如果文件夹位于文件服务器地图网络驱动器上)。

例如来自shell ...

python renamer.py "Z:\\FolderCollectionInHere" blah.txt csv

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

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)