Показать полную графическую версию : [решено] Копирование файлов из списка с созданием директории
Добрый день!
Нужно скопировать файлы из списка(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
nexxie, из строки полученной из файла, выделяйте строку пути, после создавайте новый путь и уже туда копируйте файл.
И да, пример from.txt приведите.
@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
gc "from.txt"|%{copy $_ (ni -f $_.Replace($pwd.Path,".\new"))}
У меня получилось сделать так чтобы было 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%"
nexxie, сохраните код выше с расширением .ps1 и запустите из нужной папки.
nexxie, сохраните код выше с расширением .ps1 и запустите из нужной папки. »
Мне не нужно в формате PowerShell, если бы мне нужен был иенно он, то я выбрал бы раздел форума связанным с PS. Мне нужно именно в формате bat
nexxie, здесь нет отдельного раздела для PowerShell. Видимо, Вы имели в виду категорию.
Мне нужно именно в формате bat »
Так у вас цель - скопировать файлы из списка, или это у вас домашнее задание по изучению cmd? Уточняйте это заранее.
Так у вас цель - скопировать файлы из списка, или это у вас домашнее задание по изучению cmd? Уточняйте это заранее. »
У меня цель написать это в формате bat-файла, для соедения с другим bat файлом. На данном этапе мне необходима помощь имеено в данном вопросе. Формат ps мне не нужен, нужен именно формат bat\cmd
Сам нашел решение, может потом кому-то пригодится
@echo off
set tfile=nice1.txt
set dest=2.txt
set logCopy=logCopy.txt
echo off&pushd "%~dp0"
for /f %%j in (%dest%) do (
for /f %%i in (%tfile%) do echo f | xcopy /f /y "%%i" "%%j" >> %logCopy%
)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.