Назад | Перейти на главную страницу

пакетный скрипт для копирования файлов по протоколу SMB \ CIFS

Я пытаюсь скопировать файлы с удаленной машины, используя такую ​​конструкцию

copy smb://DOMAIN;USERLOGIN:Password@100.10.10.10/folder/ C:/tmp/

он показывает следующее сообщение -

The filename, directory name, or volume label syntax is incorrect.

Я предполагаю, что команда win "copy" работает только с каталогами ... Основная идея состоит в том, чтобы копировать файлы по протоколу SMB ТОЧНО в пределах userLogin и пароля.

Итак, я просматривал Интернет и обнаружил, что "USE NET" может мне помочь. Когда я попытался его использовать, он сказал мне, что на одном ресурсе есть несколько подключений. Затем я попытался «ИСПОЛЬЗОВАТЬ NET \ COMPNAME \ folder DELETE», он показал, что операция была выполнена успешно, но сообщение о нескольких соединениях все еще такое же во время других попыток использования «USE NET».

Более того - если бы я мог сделать такой ресурс NET, смогу ли я копировать \ удалять с него файлы?

Заранее спасибо.

P.S. Извините за мой плохой английский.

--------- Обновлено -----------------------

Как упоминал Сомеш, я использовал USE NET для загрузки файлов из нескольких мест, но, к сожалению, проблема с несколькими подключениями в рамках входа и передачи все еще существует. Я не смог найти активных на текущей машине, используя USE NET без аргументов. Похожая проблема здесь: Произошла системная ошибка 1219

Если кому-то интересно, вот мой пример-скрипт:

@echo off
@echo initializing loop.
set disk="T"
set destination="D:\downloads\temp"
REM set user = "USER"
REM set password = "PASS"
REM set domain = "DOMAIN"

for /F %%S in (shares.txt) do (
    @echo start of performing: %%S

    @echo next step: mount network disk %disk%:
    pause
    DIR %disk%: 1>NUL && net use %disk%: /delete
    net use %disk%: %%S /persistent:no
        REM net use %%S /USER:%domain%\%user% %password% /persistent:no
    @echo next step: copy all files from %disk%: to %destination%

    pause
    xcopy %disk%:\* %destination% /s /i /c
    @echo next step: dismount network disk %disk%:
    pause
    net use %disk%: /delete
)
pause

В сценарии смонтируйте общий ресурс SMB / CIFS с помощью команды net.

net use \\computername\sharename /persistent:no

Вы можете использовать xcopy для копирования файлов на общий ресурс SMB / CIFS или из него. После завершения копирования вы можете при желании удалить общий ресурс с рабочей станции Windows.

net use \\computername\sharename /delete

Вы можете получить полные параметры команды net, запустив net help use.