Резюме
Мне нужно скопировать zip-файлы из одной папки в другую, имена файлов для копирования находятся в другом файле, но без расширения
Файлы в источнике
a.zip
b.zip
c.zip
no-copy.zip
Содержание текстового файла
a
b
c
Вот в простой командной строке:
Если у вас есть файл списка в вашей исходной папке и вы находитесь в нем, вы можете запустить его в командной строке, чтобы добиться того, что вам нужно:
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.
Вот одна строка, которую вы можете использовать в Powershell:
Get-Content \\path\to\textfile.txt | ForEach { Copy-Item SourceFolder\$_ DestinationFolder\$_.zip }
Это предполагает, что вы используете Windows 7 или выше.
Он читает ваш текстовый файл и для каждой строки копирует файл из исходной папки в папку назначения, одновременно добавляя «.zip» к имени файла.