обрезка имени

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by CyBer_UA, 1 Mar 2012.

  1. CyBer_UA

    CyBer_UA New Member

    Joined:
    5 Dec 2011
    Messages:
    52
    Likes Received:
    0
    Reputations:
    0
    НУжна помощь с бат файлом:
    написал батник сортировки файлов но походу использования появилась необходимось, перебрать название сортируещегося файла , напирмер:
    мойфайл-2011_2012_[текст].тхт - мне надо достать из него все от "-" и до второго знака "_"!
    понимаю что надо делать циклом, но неполучается реализовать
    Немного подумав:
    в процессе раздумий до меня дошло что мне надо рег выраж=)
    но когда начал гуглить , стыкнулся с проблемой что dir ищет внутри какого то файла ,как сделать что б он искал по переданной строке?
     
    #1 CyBer_UA, 1 Mar 2012
    Last edited: 1 Mar 2012
  2. CyBer_UA

    CyBer_UA New Member

    Joined:
    5 Dec 2011
    Messages:
    52
    Likes Received:
    0
    Reputations:
    0
    я знаю эту конструкцию!
    но проблема в том что я незнаю сколько символов в переданной строке
     
  3. CyBer_UA

    CyBer_UA New Member

    Joined:
    5 Dec 2011
    Messages:
    52
    Likes Received:
    0
    Reputations:
    0
    если я правильно понял этот код:
    записывает в файл значение переменной и потом там его проверяет?
    если да то извращение=)
     
  4. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    хорошо,давай без файла
    Code:
    :Len
    set Len=0
    set LenStr=%1
    :Lenght
    if "%LenStr%"=="" exit /b
    set LenStr=%LenStr:~0,-1%
    set /a Len+=1
    goto Lenght
     
  5. CyBer_UA

    CyBer_UA New Member

    Joined:
    5 Dec 2011
    Messages:
    52
    Likes Received:
    0
    Reputations:
    0
    Code:
    :Len
    set Len=0
    set LenStr=%1
    :Lenght
    if "%LenStr%"=="" exit /b
    set LenStr=%LenStr:~0,-1%
    set /a Len+=1
    goto Lenght
    
    не совсем понятно как он работает
    и вот эта штука в батнике работать не будет
    Code:
    set /a Len+=1