在C#/Python中重命名远程文件服务器上的文件
我需要在Windows文件服务器上重命名一整堆文件-我不在乎我真正使用的是什么语言,只要它快速简单 我知道这是基本的,但只是澄清一下-在伪代码中在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远程实现这一点。我已经搜索了代码片段/帮助,但还没有找到 谢谢。使
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)