![Краткое содержание](https://rvso.com/image/1543202/%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%D0%B5%20%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5.png)
Краткое содержание
Мне нужно скопировать zip-файлы из одной папки в другую, имена файлов для копирования находятся в другом файле, но без расширения
Файлы в источнике
a.zip
b.zip
c.zip
no-copy.zip
Содержимое текстового файла
a
b
c
решение1
Вот простая командная строка:
Если у вас есть файл списка в исходной папке и вы находитесь в ней, вы можете запустить это в командной строке, чтобы получить то, что вам нужно:
for /F "tokens=1" %%g in (list.txt) do (copy %%g.zip c:\folder\dest)
Объяснение:
for /F "tokens=1" %%g
запустите цикл, сохраняя каждую строку файла в переменной %%g
in (list.txt)
файл, который имеет имена (без расширения, как вы сказали)
do (copy %%g.zip c:\folder\dest)
скопируйте содержимое переменной (которая является именем файла) и «.zip» в c:\folder\dest.
решение2
Вот однострочный код, который можно использовать в Powershell:
Get-Content \\path\to\textfile.txt | ForEach { Copy-Item SourceFolder\$_ DestinationFolder\$_.zip }
Предполагается, что вы используете Windows 7 или более позднюю версию.
Он считывает ваш текстовый файл и для каждой строки копирует файл из исходной папки в папку назначения, одновременно добавляя «.zip» к имени файла.