Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как с помощью батника узнать, используется ли в названии файла\папки кириллица? (http://forum.oszone.net/showthread.php?t=189618)

Nun-Nun 28-10-2010 10:33 1529231

Как с помощью батника узнать, используется ли в названии файла\папки кириллица?
 
Как с помощью батника узнать, используется ли в названии файла\папки кириллица, пробелы или спецсимволы?

P.S. Это нужно, чтобы программа, не поддерживающая длинные имена, кириллицу и спецсимволы, могла выдать пользователю соответствующее предупреждение.

amel27 28-10-2010 11:08 1529257

пример батника, выдающего такие файлы/папки:
Код:

dir /b|findstr /rc:"[а-Я ]"

Iska 28-10-2010 11:29 1529274

Правильнее, думаю, будет говорить о полном пути:
читать дальше »
Код:

@echo off

set sLongName=%ProgramFiles%

for %%i in ("%sLongName%") do (
        echo [%%i] [%%~fi] [%%~dpnxi] [%%~si]

        if "%%~dpnxi" == "%%~si" (
                echo Not using
        ) else (
                echo Using
        )
)


set sLongName=%SystemRoot%

for %%i in ("%sLongName%") do (
        echo [%%i] [%%~fi] [%%~dpnxi] [%%~si]

        if "%%~dpnxi" == "%%~si" (
                echo Not using
        ) else (
                echo Using
        )
)

exit /b 0


Приведённый код — скорее болванка; для примера взяты папки «Program Files» и «Windows». Сравниваются длинное и короткое имена пути.

Замечание: Не знаю, как поведёт себя квалификатор «~s» при заданном твике на отключение создания коротких имён операционной системой.

Nun-Nun 28-10-2010 11:30 1529279

amel27,

А возможна ли такого рода проверка, если файл\папка с вышеназванными недопустимыми параметрами не существует, а пользователь ещё только пытается ввести такое имя файла\папки?

amel27 28-10-2010 11:44 1529292

Nun-Nun, проверка переменной INPUT:
Код:

set INPUT|findstr /rc:"[а-Я ]"&& Echo Ошибка!


Время: 07:34.

Время: 07:34.
© OSzone.net 2001-