Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Постоянное копирование файлов

Ответить
Настройки темы
Любой язык - Постоянное копирование файлов

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!

Помогите решить проблему пожалуйста.

На сервере А есть папка в которой постоянно появляются новые папки с файлами.
Необходимо настроить копирование всех файлов (только файлов папки можно не копировать) на сервер Б, исходные папки и файлы должны остаться на сервере А без изменения.
С условием что если файл уже копировался повторно его не копировать, даже если он будет убран из папки сервера Б.
Доступ в расшаренную папку на сервере Б по логин паролю (учетка на сервере Б).

Отправлено: 14:54, 24-01-2023

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


См.

https://klyavlin.wordpress.com/2012/...rnamepassword/

https://learn.microsoft.com/en-us/wi...mands/robocopy

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 15:07, 24-01-2023 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо за направление.

Нашел вот такой bat-ник. Но не копирует файлы из папок если таковые есть (копировать папки не нужно достаточно только файлы).
Как это можно поправить?

@Echo off

set $from=\\server1\copy
set $dest=\\server2\copy
set $log=c:\copyfile.log

NET USE \\server2\copy /u:server2\LOGINUSER *password*

for /f "delims=" %%i in ('dir "%$from%" /B/A:-D') do Call :CheckLog "%%i"
:CheckLog
If Exist "%$log%" For /f "delims=" %%a in (%$log%) Do If "%%a"=="%~1" Exit /B
robocopy "%$from%" "%$dest%" "%~1" /minage:30
if %errorlevel%==1 (echo.Copy is successful - %~1&echo.%~1>>"%$log%")

Отправлено: 06:46, 25-01-2023 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


А если будут файлы с одинаковыми именами в разных папках?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 09:07, 25-01-2023 | #4


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 09:11, 25-01-2023 | #5


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Ну можно так попробовать (Powershell)

Сначала нужно создать файл с учётными данными для входа, чтобы потом на них сослаться в скрипте.
Код: Выделить весь код
$cred = Get-Credential
$cred | Export-Clixml -Path "D:\temp\cred.xml"
Скрипт
Код: Выделить весь код
$from = "D:\temp\from"
$to = "\\server\share"
$fileList = "D:\temp\log.txt"
$drive = "W"
$cred = Import-Clixml -Path "D:\temp\cred.xml"

New-PSDrive -Name $drive -PSProvider FileSystem -Root "$to" -Credential $cred
$allFiles = dir "$from" -Recurse |? psiscontainer -eq $false

$selectedFiles = $allFiles |? {(gc "$fileList") -NotContains $_.Name}
$selectedFiles |cp -Destination "$($drive + ":")"
$selectedFiles.name >> "$fileList"

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 25-01-2023 в 11:50.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:05, 25-01-2023 | #6


Старожил


Сообщения: 245
Благодарности: 49

Профиль | Отправить PM | Цитировать


создавайте такую же струкутру директорий на сервере Б
и простой флаг

Код: Выделить весь код
robocopy.exe /?

      /S :: copy Subdirectories, but not empty ones.
собственно robocopy сам создаст

Отправлено: 21:20, 25-01-2023 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Постоянное копирование файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Проверка существования файлов в папке и копирование файлов в другую Funbeee Скриптовые языки администрирования Windows 2 07-09-2016 12:51
Любой язык - Копирование файлов. Jeerjmin Скриптовые языки администрирования Windows 6 08-07-2016 20:08
Любой язык - Копирование файлов Sisin Скриптовые языки администрирования Windows 4 23-03-2015 16:58
HDD - Копирование файлов Brard Накопители (SSD, HDD, USB Flash) 0 18-10-2011 17:26
Интерфейс - постоянное упорядочивание файлов по изменению в определенной папке karambaso Microsoft Windows 2000/XP 1 12-09-2008 00:36




 
Переход