powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / имя файла без расширения в CMD
9 сообщений из 9, страница 1 из 1
имя файла без расширения в CMD
    #36847448
Фотография Gabit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток !

Работаю со списком файлов:
Код: plaintext
1.
2.
@for /f "" %%i in ('dir /B /d IN\*.xml') do (

)

Внутри цикла надо получить имя файла без расширения, как это возможно ?
...
Рейтинг: 0 / 0
имя файла без расширения в CMD
    #36847467
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читать научиться не пробовали?
>for /?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Операции подстановки ссылок на переменные команды FOR также расширены.
Допускается применение следующих синтаксических конструкций:

    %~I         - из переменной %I удаляются обрамляющие кавычки (")
    %~fI        - переменная %I расширяется до полного имени файла
    %~dI        - из переменной %I выделяется только имя диска
    %~pI        - из переменной %I выделяется только путь к файлу
    %~nI        - из переменной %I выделяется только имя файла
    %~xI        - из переменной %I выделяется расширение имени файла
    %~sI        - полученный путь содержит только короткие имена
    %~aI        - переменная %I расширяется до атрибутов файла
    %~tI        - переменная %I расширяется до даты /времени файла
    %~zI        - переменная %I расширяется до размера файла
    %~$PATH:I   - проводится поиск по каталогам, заданным в переменной
                   среды PATH, и переменная %I заменяется на полное
                   имя первого найденного файла.  Если переменная PATH
                   не определена или в результате поиска не найден ни
                   ни один файл, то этот модификатор заменяется на пустую
                   строку
...
Рейтинг: 0 / 0
имя файла без расширения в CMD
    #36847725
Фотография Gabit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо?
А как убрать расширение дважды ?
т.е. файлые имеют такую маску: *.tar.bz2
Пытался так: %~n~nI
не прокатило.
...
Рейтинг: 0 / 0
имя файла без расширения в CMD
    #36847942
Фотография Gabit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще в списке формированным for длинные имена файлов урезаны.
проверил командной строки:
Код: plaintext
dir /B /D IN\*.tar.bz2
Выводит:
авторПробный файл.tar.bz2

А bat-нике внутри цикла вижу:
Пробный
...
Рейтинг: 0 / 0
имя файла без расширения в CMD
    #36847944
Фотография Gabit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получается пропадает все что после пробела в имени файла.
...
Рейтинг: 0 / 0
имя файла без расширения в CMD
    #36850075
Cursky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gabit,

Напишите лучше VBS-скрипт. Вот функция, возвращающая имя файла без расширений.
Всё, что после пробелов в именах файлов сохраняются.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Function GetFileName(flname)
    Dim posn, i 
    Dim fName
    posn =  0 
    For i =  1  To Len(flname)
        If (Mid(flname, i,  1 ) = "\") Then posn = i
    Next 
    fName = Right(flname, Len(flname) - posn)
    posn = InStr(fName, ".")
        If posn <>  0  Then
            fName = Left(fName, posn -  1 )
        End If
    GetFileName = fName
End Function
Хотя можно и в батнике по аналогии такое сделать.
...
Рейтинг: 0 / 0
имя файла без расширения в CMD
    #36850118
Фотография Gabit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в батнике как можно организовать Mid ?
...
Рейтинг: 0 / 0
имя файла без расширения в CMD
    #36850148
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gabitв батнике как можно организовать Mid ?

И чему только в яслях учат?

1. Вариант - тупой
Код: plaintext
1.
@for /f "" %%i in ('dir /B /d *.test') do @echo %%~ni>>tmp.tmp
@for /f "" %%i in (tmp.tmp) do @echo %%~ni

2. Вариант - еще тупее
Код: plaintext
@for /f "tokens=1 delims=." %%i in ('dir /B /d *.test') do @echo %%i
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
имя файла без расширения в CMD
    #39012495
sirnon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
20150627172819_8123231233121@12098599@sip.zebra.ru.mp3
такого вида файлы ваша команда режет :)
так что тупой вариант не подойдет.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / имя файла без расширения в CMD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]