PDA

Просмотр полной версии : Задача в .bat


geforse
20.12.2009, 11:45
Помогите написать программу для создание файла путем слияния 3 указанных файлов

Не силен в CMD ...

mailbrush
20.12.2009, 11:55
copy file1+file2 file3

geforse
20.12.2009, 12:18
Имена файлов нужно вводить в консоли (с этим как раз и проблема) + проверка существуют ли они и уже их объединять

SpangeBoB
20.12.2009, 15:37
Использовать IF EXIST filename

_iks_
21.12.2009, 16:21
Имена файлов нужно вводить в консоли
Насколько я помню, в консоли нет встроенной возможности пользовательского ввода прямо в ней. Если ошибаюсь, то поправьте.

А вобще вот так:
@if exist file1.txt if exist file2.txt if exist file3.txt copy file1.txt+file2.txt+file3.txt result.txt

SpangeBoB
21.12.2009, 18:02
Насколько я помню, в консоли нет встроенной возможности пользовательского ввода прямо в ней. Если ошибаюсь, то поправьте.

А вобще вот так:
@if exist file1.txt if exist file2.txt if exist file3.txt copy file1.txt+file2.txt+file3.txt result.txt
Есть как через set /p или через передачу аргументов ввиде %1 %2 и т.д

_iks_
21.12.2009, 18:56
Есть как через set /p или через передачу аргументов ввиде %1 %2 и т.д

Точно, я раньше не сталкивался почемуто :) Тогда всё просто:


@echo off

echo First file:
set /p first=

echo Second file:
set /p second=

echo Third file:
set /p third=

if not exist %first%.txt goto CLOSE
if not exist %second%.txt goto CLOSE
if not exist %third%.txt goto CLOSE

copy %first%.txt+%second%.txt+%third%.txt result.txt
:CLOSE
exit

geforse
21.12.2009, 21:06
Спасибо!

geforse
22.12.2009, 21:21
Ещё одна задача, нужно ввести имя файла и директорию.
Программа отсортирует расширения файлов в директории и результат запишет в файл.

Я пытался сделать, но не выходит :(


@echo off
echo Enter file name:
set /p file=

echo Enter catalog name:
set /p catalog=

cd %catalog%

DIR | SORT /+10 > %file%

pause > null
exit

SpangeBoB
22.12.2009, 21:28
Каталоги в вывод не попадут,только имена файлов отсортированных по расширению:
dir C:\Windows /a:-d /o:e > result.txt

geforse
22.12.2009, 22:08
SpangeBoB, спасибо :)

А где можно почитать что эти параметры означают ? (/a:-d /o:e)

SpangeBoB
22.12.2009, 22:53
SpangeBoB, спасибо :)

А где можно почитать что эти параметры означают ? (/a:-d /o:e)
dir /?