Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] скопировать несколько файлов с длинными кириллическими именами (http://forum.oszone.net/showthread.php?t=184312)

Nun-Nun 31-08-2010 14:22 1485639

скопировать несколько файлов с длинными кириллическими именами
 
Подскажите, как должна выглядеть комнда в 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 1485666

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

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

Код:

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


deepred 31-08-2010 17:51 1485823

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 1485956

Всех благодарю за помощь! Работает.


Время: 05:51.

Время: 05:51.
© OSzone.net 2001-