Задача в .bat

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by geforse, 20 Dec 2009.

  1. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Помогите написать программу для создание файла путем слияния 3 указанных файлов

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

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Code:
    copy file1+file2 file3
     
  3. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Имена файлов нужно вводить в консоли (с этим как раз и проблема) + проверка существуют ли они и уже их объединять
     
  4. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Использовать IF EXIST filename
     
  5. _iks_

    _iks_ Member

    Joined:
    21 Feb 2009
    Messages:
    60
    Likes Received:
    59
    Reputations:
    61
    Насколько я помню, в консоли нет встроенной возможности пользовательского ввода прямо в ней. Если ошибаюсь, то поправьте.

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

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Есть как через set /p или через передачу аргументов ввиде %1 %2 и т.д
     
    1 person likes this.
  7. _iks_

    _iks_ Member

    Joined:
    21 Feb 2009
    Messages:
    60
    Likes Received:
    59
    Reputations:
    61
    Точно, я раньше не сталкивался почемуто :) Тогда всё просто:

    Code:
    @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
    
     
    1 person likes this.
  8. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Спасибо!
     
  9. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Ещё одна задача, нужно ввести имя файла и директорию.
    Программа отсортирует расширения файлов в директории и результат запишет в файл.

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

    Code:
    @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
    
     
  10. SpangeBoB

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Каталоги в вывод не попадут,только имена файлов отсортированных по расширению:
    dir C:\Windows /a:-d /o:e > result.txt
     
  11. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    SpangeBoB, спасибо :)

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

    SpangeBoB Elder - Старейшина

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    dir /?