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

Ответить
Аватара пользователя
Nun-Nun

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

Сообщение Nun-Nun »

Подскажите, как должна выглядеть комнда в bat-файле, чтобы скопировать несколько файлов с длинными кириллическими именами, содержащими пробелы, в нужную мне папку? Пробовал задать через команду COPY, но не получается, копируется только один (первый) файл и то только тогда, когда имя не является длинным и набрано латиницей. Например:





Код:

Код: Выделить всё

SET File1="Вася Пупкин.drv"
SET File2="Петя Пупкин.drv"
SET File3="Гриша Пупкин.drv"
COPY %File1%+%File2%%File3% %SystemRoot%\System

Пробовал задать через copy *.drv %SystemRoot%\System[/i], но не подошло, т.к. в источнике вместе с нужными файлами могут находиться и не нужные.



P.S. Прошу сильно не пинать, я в этом ещё чаник.
Аватара пользователя
NiOl

Re: CMD/BAT - [решено] скопировать несколько файлов с длинными кириллическими именами

Сообщение NiOl »

Если нужно просто скопировать файлы, без объединения в один, то нужна команда копирования на каждый из файлов. Массово копировать можно только с применением "джокеров" - вопросительного знака (который раньше зменял только один символ на любой) и астерикс "*" - для замены всех последующих символов на любые...



Проще использовать цикл:





Код:

Код: Выделить всё

@echo off
set Files="Вася Пупкин.drv" "Петя Пупкин.drv" "Гриша Пупкин.drv"
for %%F in (%Files%) do copy /b %%F %SystemRoot%\System
Аватара пользователя
deepred

Re: CMD/BAT - [решено] скопировать несколько файлов с длинными кириллическими именами

Сообщение deepred »

Nun-Nun,



Можно использовать и шаблон, например таким образом:





Код:

Код: Выделить всё

@echo off&Chcp 1251
set $Shb="Пупкин" & set $SRC="F:\"
for /f "tokens=*" %%a in ('Dir /b/s/a-d %$SRC%*%$Shb%*') ^
do copy /b "%%a" %SystemRoot%\System
Ответить

Вернуться в «Скриптовые языки администрирования Windows»