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

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

Ответить
Настройки темы
CMD/BAT - Копирование папки с файлами с помощью batника

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


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

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


Здравствуйте, необходимо скопировать папку с файлами из сетевого диска и положить их пользователю на диск С в конкретную папку.
На форуме помогли с скриптом, но он не работает и не понимаю почему.
Сам скрипт
Код: Выделить весь код
@Echo Off
Set "From=\\192.168.0.21\1$\2"
Set "To=С:\3"
If Exist "%To%\" xcopy "%From%\" "%To%\" /D /s /e /h /y
Права на папку настроены, но скрипт не копирует файлы, даже если запустить на своем компьютере.

И сразу второй вопрос. Как сделать чтобы скрипт отрабатывал на компьютере только один раз? Или как написать скрипт чтобы была проверка на наличие файла? Т.е. если в папке 3 у пользователя есть например файл 123.txt то копировать файлы из \\192.168.0.21\1$\2 не нужно.

Отправлено: 08:10, 19-04-2019

 

Ветеран


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

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


во-первых
почитайте справку xcopy /?, в частности про ключ /D. Вероятно у вас нет более свежих файлов и копировать попросту нечего или же вы и не обращаете внимания, так как копируется тот же файл с заменой старого, а изменения незначительны на первый взгляд.
во-вторых
Цитата Stgean:
и положить их пользователю на диск С »
но у вас: Set "To=С:\3". При таком раскладе копирование будет в диск активного пользователя, т.е. на ваш диск С, а вам надо примерно по такому пути тогда копировать: "C:\Users\Имя пользователя\Папка"
Для
Цитата Stgean:
чтобы была проверка на наличие файла? »
Также как у вас для папки
Код: Выделить весь код
if not exist "C:\Users\Имя пользователя\Папка\123.txt" echo Копируем файлы
но тогда наличие ключа /D уже нецелесообразно или вы должны четко знать и понимать что хотите, тогда задачу можно решить правильно.

Отправлено: 09:53, 19-04-2019 | #2



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

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


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


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

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


Цитата:
почитайте справку xcopy /?, в частности про ключ /D
По поводу этого я с вами согласен, просто сейчас у меня папка пустая, поэтому я и оставил этот ключ.
Цитата:
но у вас: Set "To=С:\3". При таком раскладе копирование будет в диск активного пользователя, т.е. на ваш диск С, а вам надо примерно по такому пути тогда копировать: "C:\Users\Имя пользователя\Папка"
По другому и не получится. Файлы которые я буду копировать с сетевого диска - это файлы программы, а она устанавливается только на Диск С и другого варианта просто нет. Поэтому чтобы у пользователей которых больше 200 человек вручную не менять файлы, хочу написать bat файл, который потом смогу раскидать через GPO.

Как вариант для этого предложили скрипт, который выше написал. Но, он даже на локальном компьютере не работает.

Отправлено: 10:49, 19-04-2019 | #3


Ветеран


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

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


Цитата Stgean:
он даже на локальном компьютере не работает »
чтобы вам помочь вы должны дать какие-то данные
что дает
Код: Выделить весь код
@Echo On
Set "From=\\192.168.0.21\1$\2"
Set "To=С:\3"
If Exist "%From%" echo "%From%"
pause
если выводит
что дает
Код: Выделить весь код
@Echo On
Set "From=\\192.168.0.21\1$\2"
Set "To=С:\3"
If Exist "%To%" echo "%To%"
pause
если выводит
что дает
Код: Выделить весь код
@Echo On
Set "From=\\192.168.0.21\1$\2"
Set "To=С:\3"
xcopy /i "%From%" "%To%\"
pause
Stgean,
нашел вашу проблему и она банальна, диск C, конкретно буква C у вас в коде написана кириллицей вместо латиницы
Код: Выделить весь код
@echo off
set "from=\\192.168.0.21\1$"
set "to=C:\3"

pushd "%from%"
 xcopy /i "2" "%to%\"
popd
pause

Последний раз редактировалось alpap, 19-04-2019 в 11:26.

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

Отправлено: 11:00, 19-04-2019 | #4


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


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

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


В первом случае
строка:2 знак:3
+ If Exist "%From%\" echo "%From%\"
+ ~
Отсутствует "(" в операторе if после "If".

Во втором случае выдает ошибку
Не найден файл: %From%
Скопировано файлов: 0.

Отправлено: 11:19, 19-04-2019 | #5


Ветеран


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

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


Stgean, я уже нашел вашу ошибку, пробуйте последний код в моем посте

Цитата Stgean:
Отсутствует "(" в операторе if после "If". »
это что и как вы запускали интересно - скриншот конкретно запуска
Код: Выделить весь код
@Echo On
Set "From=\\192.168.0.21\1$\2"
Set "To=С:\3"
If Exist "%From%" echo "%From%"
pause
(если актуально).

Отправлено: 11:29, 19-04-2019 | #6


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


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

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


Спасибо, решил уже проблему самостоятельно))

Цитата:
@echo off
Set From="\\192.168.0.21\1$\2"
Set To="C:\3"
Set VerFile="C:\3\21.txt"
If Not Exist %VerFile% If Exist %To% xcopy %From% %To% /s /e /c /h /r /y /q

Проблема в другом, теперь через GPO не отрабатывает почему то))))

Отправлено: 12:00, 19-04-2019 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Копирование папки с файлами с помощью .bat через GPO Stgean Скриптовые языки администрирования Windows 1 10-04-2019 09:47
Создать zip архив папки с подпапками и файлами без корневой папки blackeangel Программирование в *nix 1 02-02-2017 10:31
CMD/BAT - Копирование бекап-данных с папки Акросина в папки облаков weiyun.com - прошу помощи! novard Скриптовые языки администрирования Windows 0 14-11-2013 05:17
CMD/BAT - Копирование и запуск batника на флеш при её подключении spbdancer Скриптовые языки администрирования Windows 13 25-09-2011 21:05
CMD/BAT - [решено] Создание и копирование папки с файлами скриптом bat через GPO 2poisonS Скриптовые языки администрирования Windows 7 27-04-2011 18:20




 
Переход