Показать полную графическую версию : [решено] Как с помощью батника узнать, используется ли в названии файла\папки кириллица?
Как с помощью батника узнать, используется ли в названии файла\папки кириллица, пробелы или спецсимволы?
P.S. Это нужно, чтобы программа, не поддерживающая длинные имена, кириллицу и спецсимволы, могла выдать пользователю соответствующее предупреждение.
пример батника, выдающего такие файлы/папки:
dir /b|findstr /rc:"[а-Я ]"
Правильнее, думаю, будет говорить о полном пути:
@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» при заданном твике на отключение создания коротких имён операционной системой.
amel27,
А возможна ли такого рода проверка, если файл\папка с вышеназванными недопустимыми параметрами не существует, а пользователь ещё только пытается ввести такое имя файла\папки?
Nun-Nun, проверка переменной INPUT:
set INPUT|findstr /rc:"[а-Я ]"&& Echo Ошибка!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.