копирование списка файлов, разделенных точкой с запятой, из txt файла в заданную папку в windows cmd - PullRequest
1 голос
/ 27 апреля 2011

У меня есть текстовый файл, который содержит, например:

c:\test\test1.txt;d:\test2\j.js;d:test2\2.cs

Мне нужно скопировать те файлы, которые разделены с помощью файла bat командной строки Windows, в заданную папку, которая передается в файл bat.Как мне этого добиться?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

Очень просто, на самом деле:

for /f %%l in (somefile.txt) do (
    for %%f in (%%l) do (
        copy "%%f" %1
    )
)

Первый цикл выполняет итерации по файлу; второй разделится точкой с запятой (и другими вещами, например пробелами и запятыми). Если имена файлов выглядят так, как вы их указали, они должны работать.

Если место назначения копий тоже выглядит, просто добавьте еще два цикла, очевидно:

for /f %%l in (somefile.txt) do (
    for %%f in (%%l) do (
        for /f %%k in (destination.txt) do (
            for %%g in (%%k) do (
                copy "%%f" %%g
            )
        )
    )
)
0 голосов
/ 27 апреля 2011

Вы можете скопировать файлы из списка файлов с помощью следующей команды пакетного файла:

for /f "usebackq delims=;" %%f in (filelist.txt) do copy %%f %1

Предполагая, что filelist.txt имеет каждое имя файла в отдельной строке:

c:\test\test1.txt;
d:\test2\j.js;
d:\test2\2.cs

НетИдея, как разобрать одну строку, хотя.

...