PDA

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


zaqbat
22-11-2012, 22:02
Написать командный файл, который будет копировать из текущего ката¬лога все файлы с расширением txt, кроме одного файла, указанного в качестве второго параметра командной строки, в каталог, указанный пер¬вым параметром. Если имя каталога, в который должно производиться копирование, не задано, то вывести сообщение об этом и прервать выполнение файла.


@ECHO
REM Proverka nali4iya parametra komandnou stroki
IF -%1==- GOTO NoDir
REM Kopirovanie nygnbIx favulov
FOR %%i IN (*.txt) DO IF NOT -%%i==-%2 COPY %%i %1\%%i
GOTO End
:NoDir
ECHO Ne ykazan katalog dlya kopirovaniya!
PAUSE
:End

ShaddyR
23-11-2012, 01:54
zaqbat, пропустил команду dir с параметрами
IN (dir *.txt /a-d /b) »

ЗЫ: чем таким албанским писать комменты - лучше вообще не писать, чтоб глаза людям не травмировать.

gora
23-11-2012, 08:32
@Echo Off
If "%~1"=="" Echo Directory is not defined& GoTo Quit
If Not Exist "%~1" Echo Directory "%~1" not found& GoTo Quit
For %%i In (*.txt) Do If Not "%%i"=="%~2" Copy "%%i" "%~1\%%i"
:Quit
Pause>Nul

ShaddyR
23-11-2012, 13:57
gora, для кошерности можно ввести проверку на отсутствие\корректность второго параметра командной строки :)

gora
23-11-2012, 14:02
ShaddyR, можно, но:
- это не запрошено
- его отсутствие не вызывает ошибок, чего не скажешь об отсутствии папки из первого параметра.




© OSzone.net 2001-2012