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

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

Ответить
Настройки темы
CMD/BAT - [решено] Копирование файлов из списка с созданием директории

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


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

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


Добрый день!

Нужно скопировать файлы из списка(txt) в отлельную папку(находящуюся в данном каталоге) с сохранением структы папок.

Допустим, bat-файл лежит вот тут С:\3\outfiles, в этой папке есть нужный файл, который лежит в С:\3\outfiles\4\5\6\n.pl Нужно чтобы тот файл оказался в С:\3\outfiles\new\4\5\6\n.pl(т.е. с сохранением полной структуры)
Я дошел до того, что он просто копируюет файлы в корень, где лежит батник, в новую папку, но без сохранении структуры. Пробовал Xcopy но он не принимает, почему-то ключи.

Код: Выделить весь код
@echo off
set from=from.txt

echo off&pushd "%~dp0" 

for /f %%i in (%from%) do @xcopy  "%%i" "%~dp0"\new

Отправлено: 21:50, 20-02-2021

 

Аватара для NickM

Ветеран


Contributor


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

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


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

И да, пример from.txt приведите.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:11, 20-02-2021 | #2



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

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


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


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

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


@
Цитата NickM:
nexxie, из строки полученной из файла, выделяйте строку пути, после создавайте новый путь и уже туда копируйте файл.
И да, пример from.txt приведите. »

У xcoppy есть ключи /Y /C /R /S /I /E /T которые позволяют создать стукрутуру папок. А вот пример самого файла

C:\Users\nexxie\outfiles\1\2\3\4.pl
C:\Users\nexxie\outfiles\1\2\3\5.pl
C:\Users\nexxie\outfiles\1\2\3\6.pl
C:\Users\nexxie\outfiles\1\2\3\7.pl
C:\Users\nexxie\outfiles\1\2\8.pl
C:\Users\nexxie\outfiles\1\9.pl

Bat файл в каталоге outfiles

Отправлено: 22:20, 20-02-2021 | #3


Аватара для Fors1k

Старожил


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

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


Код: Выделить весь код
gc "from.txt"|%{copy $_ (ni -f $_.Replace($pwd.Path,".\new"))} 

Отправлено: 23:48, 20-02-2021 | #4


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


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

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


У меня получилось сделать так чтобы было 2 файла ( один со стрым путем файлов с расширением, второй с новым путем файла с расширением) Не могу написать вложенный for для копирования. Подскажите, пожалуйста как это сделать можно
Код: Выделить весь код
set tfile=nice1.txt
set dest=2.txt
echo off&pushd "%~dp0"
for /f %%j in (%dest%) do set line=%%j
for /f %%i in (%tfile%) do @xcopy /y "%%i" "%line%"

Отправлено: 02:54, 21-02-2021 | #5


Аватара для Fors1k

Старожил


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

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


nexxie, сохраните код выше с расширением .ps1 и запустите из нужной папки.

Отправлено: 03:02, 21-02-2021 | #6


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


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

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


Цитата Fors1k:
nexxie, сохраните код выше с расширением .ps1 и запустите из нужной папки. »
Мне не нужно в формате PowerShell, если бы мне нужен был иенно он, то я выбрал бы раздел форума связанным с PS. Мне нужно именно в формате bat

Отправлено: 12:02, 21-02-2021 | #7


Ветеран


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

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


nexxie, здесь нет отдельного раздела для PowerShell. Видимо, Вы имели в виду категорию.

Отправлено: 13:14, 21-02-2021 | #8


Аватара для Fors1k

Старожил


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

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


Цитата nexxie:
Мне нужно именно в формате bat »
Так у вас цель - скопировать файлы из списка, или это у вас домашнее задание по изучению cmd? Уточняйте это заранее.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:27, 21-02-2021 | #9


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


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

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


Цитата Fors1k:
Так у вас цель - скопировать файлы из списка, или это у вас домашнее задание по изучению cmd? Уточняйте это заранее. »
У меня цель написать это в формате bat-файла, для соедения с другим bat файлом. На данном этапе мне необходима помощь имеено в данном вопросе. Формат ps мне не нужен, нужен именно формат bat\cmd

Отправлено: 13:26, 22-02-2021 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Копирование названия файлов из списка по символу в отдельный файл f1rstonlyone@vk Скриптовые языки администрирования Windows 2 07-06-2017 22:08
VBS/WSH/JS - Копирование файлов по сети на PC из списка. HattabbI4 Скриптовые языки администрирования Windows 8 28-03-2013 14:34
CMD/BAT - [решено] Копирование файлов из списка dima05605 Скриптовые языки администрирования Windows 2 05-09-2012 17:48
CMD/BAT - [решено] Копирование файлов из экселевского списка Zayaca Скриптовые языки администрирования Windows 2 12-08-2012 10:03
Win32 API - Копирование всех файлов из директории DaRiYs Программирование и базы данных 4 03-09-2009 23:36




 
Переход