Переименование файла на удаленном файловом сервере в C# / Python



Мне нужно переименовать целую кучу файлов на файловом сервере Windows - мне все равно, какой язык я использую, если это быстро и легко!



Я знаю, что это основное, но просто для уточнения - в псевдокоде...



server = login (fileserver, creds)

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


Я знаю, как это сделать в Python/C#, если бы я был локальным пользователем, но понятия не имею, возможно ли это сделать удаленно с помощью Python. Я искал фрагменты кода/помощь, но пока не нашел ни одного.



Спасибо.

590   4  

4 ответов:

Используйте \ \ имя_сервера\sharename\somefile.foo for filenames-при условии, что у вас есть доступ для подключения к нему и работает на windows.

Вы также можете сопоставить сетевой диск и рассматривать его как любой другой локальный диск (y:\sharename\somefile.foo)

Вы также можете использовать PSEXEC для удаленного выполнения кода на сервере, если вам нужна производительность локально выполняемого кода. См. http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Посмотрите на pyfilesytem, он обеспечивает согласованный интерфейс для локальных и удаленных файловых систем.

Ниже приводится переименование файла в каждом из подкаталогов указанного пути к папке. Он переименовывает файл из данного имени файла (например."чепуха.txt") в foldername+extension.

NB. Z может быть как локальным, так и сетевым диском (т. е. если папка находится на файловом сервере, сопоставьте сетевой диск с ней).

Например, из оболочки...

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

... переименует файл ' бла.txt' в каждом непосредственном подкаталоге "Z:\FolderCollectionHere-чтобы .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)

Comments

    Ничего не найдено.