|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] bat. Копирование папок из текущей директории |
|
|
CMD/BAT - [решено] bat. Копирование папок из текущей директории
|
Новый участник Сообщения: 17 |
Здравствуйте.
Как написать батник который копировал бы папки относительно текущей директории, т.е. папки где лежит сам bat-файл? Необходимо: 1. Скопировать из "текущая директория\ folder 111" в "уровень выше текущей директории" 3. Скопировать из "текущая директория\ folder 222" в "C:\Users\User_Name\Documents" В первом случае надо скопировать папку «folder 111», расположенную директорией ниже в папку директорией выше. Во втором примере папку «folder 222», расположенную директорией ниже в системную папку "Документы". |
|
Отправлено: 20:32, 21-11-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Browning Zed:
@echo off setlocal enableextensions enabledelayedexpansion set "sSourceFolder=folder 111" 2>nul md "..\%sSourceFolder%" xcopy.exe /e /i ".\%sSourceFolder%" "..\%sSourceFolder%\" endlocal exit /b 0 Цитата Browning Zed:
@echo off setlocal enableextensions enabledelayedexpansion set "sSourceFolder=folder 222" 2>nul md "C:\Users\User_Name\Documents\%sSourceFolder%" xcopy.exe /e /i ".\%sSourceFolder%" "C:\Users\User_Name\Documents\%sSourceFolder%\" endlocal exit /b 0 |
||
Отправлено: 22:20, 21-11-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата:
![]() Но с первым кодом, где копируем на уровень выше не получилось. Дело в том, что батник запускается через exe-файл лежащий в другом месте, и папка копируется на уровень выше той папки где находится экзешник, а не там где лежит bat. И еще непонятен момент с более глубокими по вложенности уровнями папок, например таким образом: Скопировать из "текущая директория\folder 1\ folder 2\ folder 3" в "уровень выше текущей директории" |
|
Отправлено: 23:05, 21-11-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Browning Zed:
Меня терзают смутные сомнения, что Вы путаете понятия «текущий каталог» и «каталог, в котором расположен пакетный файл». Цитата Browning Zed:
|
||
Отправлено: 00:30, 22-11-2018 | #4 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Спасибо за помощь, с путями копирования вроде разобрался. Но остался один нерешенный вопрос. Копирую через батник папку с файлами в системную папку «Документы». Добавил в код батника ключ: /y, чтобы файлы перезаписывались, но файлам находящимся в папке «Документы» присвоен атрибут «Только чтение», что в итоге влечет запись в командной строке: "Отказано в доступе". Файлы, соответственно, не перезаписываются и ключ: /r не помогает. Как можно выйти из данной ситуации? |
||
Отправлено: 18:21, 22-11-2018 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Browning Zed:
Покажите. |
|
Отправлено: 18:46, 22-11-2018 | #6 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата Iska:
В теории, ключ /r должен перезаписать файл только для чтения, а ключ /k, должен сохранить атрибут «только чтение» у нового файла (который перезаписывает старый). Но этого не происходит. |
|
Отправлено: 19:00, 22-11-2018 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Browning Zed:
P.S. Вы знаете имена всех этих файлов? |
|
Отправлено: 19:14, 22-11-2018 | #8 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата Iska:
A C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\BIOCredits.ini A C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\BIOEditor.ini A R C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\BIOEngine.ini A R C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\BIOGame.ini A R C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\BIOGuiResources.ini A R C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\BIOInput.ini A C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\BIOParty.ini A C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\BIOQA.ini A C:\Users\Nikolay\Documents\BioWare\Mass Effect\Config\DefaultEngine.ini |
|
Отправлено: 19:33, 22-11-2018 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Browning Zed:
И что интересно, из приведённого вывода и ранее приведённого Вами кода выясняется масса интересных, никак ранее не упоминавшихся подробностей. То, что Вы описывали в техзадании, имеет мало общего с тем, что Вам на самом деле нужно. Покажите реально используемый Вами код, не с «set "GetFolder1=folder 3"», а с тем, что там есть у Вас на самом деле. |
|
Отправлено: 01:44, 25-11-2018 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Копирование папок с текущей датой +1 день в названии (кроме выходных) | Сантей | Скриптовые языки администрирования Windows | 8 | 03-03-2015 23:26 | |
CMD/BAT - выводить в текстовый файл список файлов и папок из директории где запущен | APTEM267 | Скриптовые языки администрирования Windows | 2 | 07-02-2014 06:32 | |
Запуск скрипта из текущей директории | lampich | Программирование и базы данных | 0 | 28-12-2012 23:56 | |
Win32 API - Копирование всех файлов из директории | DaRiYs | Программирование и базы данных | 4 | 03-09-2009 23:36 | |
[решено] как добавить путь к текущей директории в reg файл из bat файла ? | mitiya | Автоматическая установка приложений | 7 | 27-03-2008 16:12 |
|