Компьютерный форум 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=229080)

Veseliy 29-02-2012 09:51 1869011

копирование файлов кроме одного, который будет указан первым параметром
 
Написать пакетный файл, который будет копировать из текущего каталога все файлы с некоторым расширением, кроме одного файла, указанного в качестве второго параметра командной строки, в каталог, указанный первым параметром. Если имя каталога, в который должно производиться копирование, не задано, то вывести сообщение об этом и прервать выполнение файла

вот что навоял:

@Echo Off
If '%1==' (Echo "Не указана папка для копирования"
GoTo :Eof)

xcopy *.txt %1\
If Not %ErrorLevel%==0 (
Echo Ошибка при копировании
Pause
GoTo :Eof
)

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

Foreigner 29-02-2012 22:03 1869569

Veseliy,
Код:

@echo off
1>nul chcp 1251

:: Проверяем наличие параметров
if "%~2"=="" echo Заданы не все параметры && goto:eof

:: Проверяем валидность первого параметра, на случай если указан существующий файл вместо папки.
if exist %1 2>nul pushd %1 && popd || (

    echo Папка-назначение задана неверно, есть файл с таким же именем
    goto:eof

)

:: Копируем файлы, если не существует папка-назначение, то она создастся

2>nul md %1
for /f "tokens=*" %%i in (' dir /b /a-d *.txt ') do if not "%%i"=="%~2" copy "%%i" %1

1>nul chcp 866



Время: 22:42.

Время: 22:42.
© OSzone.net 2001-