|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование файлов по списку соответствия логинов/имен в домашние папки пользователей |
|
CMD/BAT - Копирование файлов по списку соответствия логинов/имен в домашние папки пользователей
|
Новый участник Сообщения: 8 |
Профиль | Отправить PM | Цитировать Здравствуйте!
Есть папка с файлами, имеющими вид C:\docs\Вася Пупкин.pdf, C:\docs\Лена Головач.pdf , на сервере находятся домашние папки этих пользователей \\server\homes\pupkin и \\server\homes\danaro, так же есть текстовый файл со строками Пупкин=pupkin и Головач=danaro . Нужно файл Вася Пупкин.pdf (обязательно с пробелом) скопировать в папку pupkin, а файл Лена Головач.pdf в папку danaro. Соответственно файлов таких больше тысячи, вручную что-то делать не вариант. |
|
Отправлено: 19:14, 22-01-2020 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать DJ Mogarych, не выходит. Возможно потому, что не для всех файлов Source есть папки? Может быть лучше файлы не копировать, а переносить, что бы было видно с какими файлами дело не пошло?
|
Отправлено: 13:33, 23-01-2020 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать Цитата evgenyat:
|
|
------- Отправлено: 13:40, 23-01-2020 | #12 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать evgenyat, Для вашего примера
@Echo Off cls Set "Home=\\Server\Test1\Homes" Set "Docs=Z:\Box_In\Docs" Set "DocsExt=pdf" Set "Names=Z:\Box_In\Docs\names.txt" For /F "usebackq tokens=1,2 delims==" %%i In (`2^>nul more "%Names%"`) Do Call :MyCopy %%i %%j ||Echo --- File "%Names%" string %%i=%%j not correct pause Exit /B :MyCopy If Exist "%Docs%\* %1,*.%DocsExt%" If Exist "%Home%\%2" >nul Copy "%Docs%\* %1,*.%DocsExt%" "%Home%\%2\" &Exit /B 0 If Not Exist "%Docs%\* %1,*.%DocsExt%" Echo !!! File "%Docs%\* %1,*.%DocsExt%" not exist If Not Exist "%Home%\%2" Echo !!! Folder "%Home%\%2" not exist Exit /B 2 |
------- Последний раз редактировалось megaloman, 23-01-2020 в 13:49. Отправлено: 13:42, 23-01-2020 | #13 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать DJ Mogarych, сам дурак, перепутал имя/логин у себя. Все сработало, спасибо! Только одна небольшая ошибка: к имени Vano попал как свой файл, так и файл Ivanova. Это можно сделать?
megaloman, спасибо, попробую так же и этот вариант. megaloman, все сработало как надо. А если мне нужно эти файлы не скопировать, а перенести, то что нужно изменить? |
Отправлено: 13:49, 23-01-2020 | #14 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Цитата evgenyat:
1. "есть текстовый файл со строками" - я предположил, что там формат строк имябезпробела=папкабезпробела 2. Вид имён pdf-файлов: что-то впереди имябезпробела,что-то сзади.pdf. То есть я ищу в имени файла не "имябезпробела" а " имябезпробела," (с пробелом впереди и запятой после) За счёт этого удалось избежать совпадения типа Vano=Ivanova в помянутом решении уважаемого DJ Mogarych Цитата evgenyat:
|
||
------- Последний раз редактировалось megaloman, 23-01-2020 в 14:44. Отправлено: 14:37, 23-01-2020 | #15 |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать Попробуйте, поправил вверху.
|
------- Отправлено: 14:46, 23-01-2020 | #16 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Всем спасибо! Куда оплачивать?
DJ Mogarych, copy : Не удалось найти часть пути "C:\Users\admin\Desktop\homes\Andreas". C:\Users\admin\Desktop\lohn\Files\script.ps1:7 знак:17 + ... $userfiles |copy -Destination "C:\Users\admin\Desktop\homes\$($name.l ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Copy-Item], DirectoryNotFoundException + FullyQualifiedErrorId : System.IO.DirectoryNotFoundException,Microsoft.PowerShell.Commands.CopyItemCommand |
Отправлено: 14:51, 23-01-2020 | #17 |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать Добавил создание папок пользователя, если их нет на сервере.
|
------- Отправлено: 16:15, 23-01-2020 | #18 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Копирование файлов по списку из файла | foma24 | Скриптовые языки администрирования Windows | 2 | 30-12-2022 15:35 | |
CMD/BAT - [решено] Копирование файла в папки по списку | Bobis | Скриптовые языки администрирования Windows | 15 | 17-07-2019 17:24 | |
CMD/BAT - Поиск полных ссылок и содержащих их файлов по списку имен (%%~nxa) | ruslaw | Скриптовые языки администрирования Windows | 0 | 17-12-2017 14:09 | |
CMD/BAT - [решено] Копирование файлов по списку | foma24 | Скриптовые языки администрирования Windows | 5 | 22-01-2014 16:45 | |
CMD/BAT - поиск и копирование файлов по списку-маске | martyn_80 | Скриптовые языки администрирования Windows | 1 | 24-11-2012 14:47 |
|