用C#/ Python重命名远程文件服务器上的文件
我需要重命名Windows文件服务器上的整个文件堆 - 我不介意使用哪种语言,只要它很快捷便捷!用C#/ Python重命名远程文件服务器上的文件
我知道这是基本的,但我只想澄清 - 伪代码...
server = login (fileserver, creds)
foreach (file in server.navigateToDir(dir))
rename(file)
我知道如何做到这一点在Python/C#如果我是一个本地用户,但不知道如果它甚至可以使用Python远程执行此操作。我搜索了代码片段/帮助,但还没有找到。
谢谢。
下重命名文件中的每个文件夹路径的子目录给出。它将文件从给定的文件名(例如“blah.txt”)重命名为文件夹名称+扩展名。
注意: Z可以是本地驱动器或网络驱动器(即文件夹位于文件服务器映射网络驱动器上)。
例如从壳...
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)
对文件名使用\\ servername \ sharename \ somefile.foo - 前提是您有权访问它并在Windows上运行。
您也可以映射了网络驱动器,并把它作为任何其他本地驱动器(Y:\共享名\ somefile.foo)
使用像\\ servername \ sharename \ somefile.foo这样的直接路径不起作用。 – 2010-01-21 15:15:49
如果您需要执行本地执行的代码,您也可以使用PSEXEC在服务器上远程执行代码。请参阅http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
在代码中进行服务器登录相当危险,简单的方法是将驱动器映射到共享文件夹,并以与本地文件相同的方式访问它。您是否正在寻找一种方法让服务器远程重命名文件,而无需从客户端获取任何文件访问权限? – Lazarus 2010-01-21 14:44:58
我很高兴,如果它是hacky /有风险的代码 - 这只是对我的用户目录中的许多文件执行一次性批处理。这将从客户端运行。 将驱动器映射到文件夹是一个好主意,我会给它一个提示。 – 2010-01-21 14:49:14
Lazarus - 将驱动器映射到工作的文件夹。如果你想把它作为我的问题的答案,我会给你信用。谢谢。 – 2010-01-21 14:55:50