PDA

Показать полную графическую версию : [решено] скопировать несколько файлов с длинными кириллическими именами


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

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

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

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

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

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

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

deepred
31-08-2010, 17:51
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

Nun-Nun
31-08-2010, 21:00
Всех благодарю за помощь! Работает.




© OSzone.net 2001-2012