Не ставится заглавная буква в имени файла

Обновлено: 07.07.2024

Статья рассчитана на обычных людей - неспециалистов, которые даже сейчас в век полной поддержки компьютерами любых языков вплоть до эльфийского всё-таки иногда сталкиваются с непониманием современными программами букв, отличных от основной латиницы

Иногда я с ностальгией и каким-то тёплым трепетом вспоминаю времена, которые, казалось, навсегда канули в лету. Времена, когда при включении компьютер спрашивал дату и время. Времена, когда на одну дискету помещалась операционная система, файловый менеджер и несколько игр, а цветной монитор даже с 16 цветами и соответствующей видеокартой оставался недостижимой мечтой. Характерной чертой вплоть до середины 90-х оставалась невозможность использовать кириллицу в именах файлов, папок, в командах. Да в общем-то нигде, кроме, разве что, содержимого файлов. Там можно было печатать по-русски, но и то это требовало дополнительной настройки и специальной программы.

Я рад, что застал эти времена. Рад, что до сих пор у меня в путях и именах "технических" файлов почти нет кириллических символов. Но сейчас это скорее привычка, чем необходимость. Я уже лет 15 не сталкивался с программами, предназначенными для широкого круга пользователей и не понимающих символы, отличные от основной латиницы и эта статья никогда бы не появилась, если бы не всплеск проектов на блокчейне. Проектов, среди которых встречаются интересные ещё не законченные со своими нюансами, в том числе и таким неприятным.

Установив клиент одного из таких проектов я приготовился исследовать его, тем более, это вознаграждалось и был очень быстро огорчён. Ошибки, как из рога изобилия просили меня связаться с разработчиками почти никогда не объясняя суть ошибки. Хотя в одной конкретной ситуации причина была указана - несовпадение кодировок.

Далее непосредственно решение проблемы

Начиная с Windows 2000 professional для обычных пользователей стала доступна файловая система NTFS, с которой профессионалы работали на тот момент уже давно. В ней среди функций, к которым как правило мало описания присутствует возможность для одного файла или папки назначать несколько имён .

Вы не найдёте эту функцию ни в проводнике, ни где-либо ещё в стандартных программах, кроме разве что командной строки, поэтому для удобства нужно будет скачать дополнительную программу, но если вы освоитесь в жёстких и символических ссылках, то сможете не только решить описываемую проблему, но и легко перенести на другой диск папки, которые по-умолчанию не предлагают выбора пути, например огромный массив блоков Etherium или ту же папку "Мои документы", если она у вас достаточно велика. Ведь места на диске C как правило немного.

Есть несколько программ для создания жёстких и символических ссылок. Я лично использую Total commander с нужным плагином, но здесь мы рассмотрим более простую альтернативу - Junction Link Magic . Если же кто-то захочет поэкспериментировать, то может найти самостоятельно другую утилиту. Некоторые из них были освещены в статье на Гигтаймс .

При запуске Junction Link Magic предложит сканировать компьютер на предмет уже существующих жёстких и символических ссылок и точек монтирования. Если согласитесь, то вы увидите, насколько много их уже на вашем компьютере. Да, сама Microsoft пользуется такими обходными манёврами для совместимости со старыми программами

Обратите внимание на кнопку "Remove". Эта кнопка удаляет ссылку. НИКОГДА НЕ УДАЛЯЙТЕ ССЫЛКИ, КОТОРЫЕ СОЗДАЛИ НЕ ЛИЧНО ВЫ - это может привести к серьёзным проблемам в операционной системе.

Нажимаем Create. и открывается диалог создания ссылки

Слева выбираете папку, которая превратиться в ссылку, а справа настоящую папку.

Для каждой ссылки в левом окне создавайте отдельную папку! Не используйте существующие . Указав на папку C:\Пользователи\Вася справа и на вновь созданную папку D:\vasya нажимаем Create и получаем результат - оба пути - это одно и тоже.
Внизу слева есть кнопка New folder, которая создаёт новую папку, но после создания она не отображается в диалоге (возможно это только у меня), поэтому лучше приготовиться заранее и создать нужные папки вручную

На этом всё. Перед экспериментами обязательно создайте точку восстановления системы. Это никогда не повредит.

Регистр выделенного текста в документе можно изменить, нажав кнопку Изменить регистр на вкладке Главная.

Примечание: Сведения о правилах автоматического написания прописными буквами см. в статье Настройка автозамены: написание прописными буквами, правописание и символы.

Изменение регистра

Чтобы изменить регистр выделенного текста в документе:

Выделите текст, регистр которого нужно изменить.

замещающий текст

Перейдите на главная > изменить .

Выполните одно из указанных ниже действий.

Чтобы сделать первую букву приложения прописной, а остальные оставить строчными, выберите пункт Как в предложениях.

Чтобы сделать все буквы строчными, выберите пункт все строчные.

Чтобы сделать все буквы прописными, выберите пункт ВСЕ ПРОПИСНЫЕ.

Чтобы сделать первую букву в каждом слове прописной, а остальные – строчными, выберите пункт Начинать С Прописных.

Чтобы изменить регистр на противоположный (например, переключиться из режима Начинать С Прописных в режим нАЧИНАТЬ сО сТРОЧНЫХ), выберите пункт иЗМЕНИТЬ РЕГИСТР.

Чтобы применить к тексту написание с малых прописных букв, выделите текст, а затем на вкладке Главная в группе Шрифт щелкните стрелку в правом нижнем углу. В диалоговом окне Шрифт в разделе Видоизменение установите флажок малые прописные.

Чтобы отменить изменение дела, нажмите CTRL+Z.

Чтобы использовать сочетания клавиш для изменения регистра, верхнего и верхнего регистра в каждом слове, выберем текст и нажимаем клавиши SHIFT+F3, пока не будет применен нужный регистр.

См. также

Изменение регистра

Чтобы изменить регистр выделенного текста в документе:

Выделите текст, регистр которого нужно изменить.

замещающий текст

Перейдите на главная > изменить .

Выполните одно из указанных ниже действий.

Чтобы сделать первую букву приложения прописной, а остальные оставить строчными, выберите пункт Как в предложениях.

Чтобы сделать все буквы строчными, выберите пункт все строчные.

Чтобы сделать все буквы прописными, выберите пункт ВСЕ ПРОПИСНЫЕ.

Чтобы сделать первую букву в каждом слове прописной, а остальные – строчными, выберите пункт Начинать С Прописных.

Чтобы изменить регистр на противоположный (например, переключиться из режима Начинать С Прописных в режим нАЧИНАТЬ сО сТРОЧНЫХ), выберите пункт иЗМЕНИТЬ РЕГИСТР.

Чтобы применить к тексту малые буквы, вы выберите текст, а затем в меню Формат выберите Шрифт ,а затем в диалоговом окне Шрифт в области Эффекты выберите поле Малые буквы.

Small Caps shortcut key: ⌘ +SHIFT+K

Чтобы отменить изменение дела, нажмите ⌘ +Z.

Чтобы использовать сочетания клавиш для изменения регистра, верхнего регистра и регистра каждого слова, выберем текст и нажимаем клавиши FN+SHIFT+F3, пока не будет применен нужный стиль.

См. также

PowerPoint в Интернете поддерживает изменение досье. См. процедуру ниже.

Word в Интернете не поддерживает изменение дела. Откройте документ в настольном приложении и измените его досье. Кроме того, вы можете вручную изменить casing текста в Word в Интернете.

Select the text you want to change.

Перейдите на главная > Дополнительные параметры шрифта > Изменение досье.

Мне нужен способ переименовать все файлы в папках и подпапках в нижний регистр.

Я хотел бы знать, если есть способ сделать это, используя только Windows (XP или 7)

Windows не различает маленькие и верхние заглавные буквы, как это делает Unix. возможно, если бы вы сказали, зачем вам это нужно, это помогло бы решить проблему. Просто прекрасно. Возьмите плохую идею и распространите ее дальше. Какой ночной кошмар поддержки, когда кто-то отправляет файл, и ошибка с большим пальцем означает, что он отправил «answers.dat», и входящий процесс ожидает «answers.dat». У этих двух имен просто нет веских причин считать их «разными». @David, например, Java фактически требует имен файлов с учетом регистра. Это может привести к большим проблемам в не чувствительных к регистру файловых системах. Я знаю, что это старо, но я хотел уточнить здесь неправильное представление. Хотя NTFS поддерживает чувствительность к регистру, ОС Windows НЕ различает!

Перейдите в каталог и выполните следующую команду:

Вот разбивка на случай, если кто-то захочет изменить / улучшить:

  • for /f - для каждой строки
  • "Tokens=*" - Обрабатывать каждый элемент в каждой строке.
  • %f in (. ) - %f это имя вашей переменной для каждого элемента.
  • dir - перечисляет каждый файл и подкаталог в каталоге.
  • /l - (параметр для dir) Использует строчные буквы.
  • /b - (параметр для dir) Используется пустой формат, только имена файлов / каталогов, без размера, без заголовков.
  • /a-d - (параметр для директории) Вы не список каталогов . ( a обозначает attribute , - обозначает not и d обозначает directory ) .
  • rename "%f" "%f" - переименуйте файл с его собственным именем, которое на самом деле в нижнем регистре dir команды и /l комбинации.
Рекурсивная версия: for /f "Tokens=*" %f in ('dir /l/b/a-d/s') do (rename "%f" "%f") (добавлено / r в каталог). Рекурсивная версия у меня не сработала - переименовал, пожаловался на недопустимый формат команды. Оказывается, / s заставил второй файл быть перечисленным как абсолютный путь, и использование расширения имени файла (%

nxf) дало мне оригинальное, прописное имя файла. Закончилось только ручным повторением.

Это очень хороший ответ; к слову, никаких внешних программ не требуется, хорошая и маленькая команда, не требуется сложность командного файла. Можно ли изменить его, чтобы изменить строчные буквы на прописные?

spacetornado Renamer - это программа для Windows, которая переименовывает большое количество файлов в пакетном режиме. Вы можете искать и заменять текст, удалять определенное количество символов, изменять регистр на нижний, верхний или заглавный, а также добавлять текст в начало или конец (добавление / добавление) каждого имени файла.

Пожалуйста, дайте мне причину отрицательного голосования? Я предполагаю, что отрицательное влияние было связано с тем, что ОП требовалось решение, которое работало без какого-либо дополнительного программного обеспечения. И я предполагаю, что отрицательный голос не был объяснен, потому что некоторые люди склонны сдавать отрицательные голоса мести. Графический интерфейс немного прикольный, но он делает работу лучше, чем несколько других переименователей, которые я там видел. Он сделал то, что сделал, когда мне нужно было рекурсивное переименование для очистки файлов с FTP-сервера Linux . однако, чтобы он работал должным образом, нужно было запустить его от имени администратора. Чувствуется как старая необслуживаемая программа :)

Начиная с Windows 7 вы можете использовать PowerShell для этих задач

- Выберите корневую папку
- все файлы внутри корневой папки и подпапок переименованы
- имена папок исключаются с Where |

Вот правильное рекурсивное решение командной строки, использующее только собственные команды cmd.exe, которые действительно работают. Я считаю, что это самое простое из возможных нативных решений:

Если вы хотите выйти за рамки собственных команд cmd.exe, то другой вариант - моя утилита переименования регулярных выражений JREN.BAT, которая поддерживает параметры для преобразования имен в верхний или нижний регистр. Это чистый скрипт (гибридный JScript / batch), который изначально запускается на любой машине с Windows начиная с XP - сторонних exe-файлов не требуется. Полная документация встроена - доступ из командной строки через jren /? или, jren /?? если вы хотите, постраничный вывод.

С JREN рекурсивное решение так же просто, как:

Работает отлично. К вашему сведению, удалите /a-d переключатель, и он также будет содержать имена папок в нижнем регистре. Попытался сохранить его как командный файл и вытолкнул его в system32, чтобы я мог запустить его в любое время с помощью одной команды. Результаты в следующем: " D"') was unexpected at this time. запуск его в качестве прямой команды работает нормально, просто не работает при запуске в виде командного файла. Не уверен, как заставить его работать как пакетный файл, но подумал, что я решу проблему. @DonCullen - это стандартный синтаксис, что процент переменной FOR должен быть удвоен при использовании FOR в пакетном скрипте. Таким образом , %D должны измениться , чтобы %%D и %F в %%F если поместить команду в пакетном сценарии.

Моя любимая утилита пакетного переименования файлов - Cylog's WildRename . Среди многих других функций, он может изменить регистр имен файлов. Самое лучшее в WildRename - это то, что он поддерживает регулярные выражения!

Это правильное приложение, после установки в течение 10 секунд. Я настроил и рекурсивно переименовал удаленную папку (сопоставил для удобства).

«Рекурсивная» версия принятого ответа (работает *)

for /f "Tokens=*" %f in ('cmd /c "echo %cd%& dir /l/b/ad/s"') do (for /f "Tokens=*" %g in ('dir /l/b/a-d "%f"') do (rename "%f"\"%g" "%g"))

Первый цикл

for /f "Tokens=*" %f in ('cmd /c "echo %cd%& dir /l/b/ad/s"')

Получает список абсолютных путей всех каталогов внутри текущего (включая его):

C: \ Foo \ TO.txt

C: \ Foo \ Bar \ LOWER.txt

C: \ Foo \ Bar \ Baz \ CASE.txt

Второй цикл

for /f "Tokens=*" %g in ('dir /l/b/a-d "%f"') do (rename "%f"\"%g" "%g")

Получает список всех имен файлов (или имен файлов и каталогов, если вы /a-d выключите переключатель) внутри каждого из абсолютных путей, найденных в первом цикле , и преобразует имя этих файлов в нижний регистр.

C: \ Foo \ TO.txt

C: \ Foo \ Bar \ LOWER.txt

C: \ Foo \ Bar \ Baz \ CASE.txt

* это требует двух циклов, потому что вторым аргументом rename должно быть имя файла, а не абсолютный путь (как тот, который получен /s переключателем).

Почему у тебя cmd /c "echo %cd%& в первом for ? Это совершенно не нужно. @DavidPostill echo %cd% добавит текущую папку в список абсолютных путей ; и cmd /c делает & работу по объединению команд. Я абсолютный новичок в отношении Windows Batch Scripting ; если вы знаете лучший способ, не стесняйтесь улучшить ответ! Отличная работа для новичка. Это было ваше первое собственное решение командной строки cmd.exe, которое действительно работает, за исключением того, что оно перестало работать, когда имя начинается с пробела или точки с запятой. Принятый ответ страдает той же проблемой. Смотрите мой ответ для более простого ответа, который также работает с начальным пробелом или точкой с запятой. Может ли это быть изменено, чтобы преобразовать нижнюю в верхний

Вы можете использовать стратегию «замены персонажа» .

. и так далее, для букв А-Я. Возможно, вы могли бы реализовать это в форме цикла FOR.

Поэтому пусть пакетный файл перебирает папки / имена файлов и вызывает эту функцию для генерации строчной версии имени.

Используя только стандартные команды, я написал сценарии LwrCase.bat и LwrCase_Folder.bat, чтобы переименовать имя файла в нижний регистр или переименовать все имена файлов в папке в нижний регистр.

Чтобы переименовать имя файла в нижний регистр, используйте:

Где FullyQualifiedFileName - полное имя файла для переименования.

Чтобы переименовать все имена файлов в каталоге, используйте:

где FullyQualifiedDirectoryName - полный путь к папке, а / S - необязательный параметр, который также будет переименовывать имена файлов во всех подпапках.

ПРИМЕЧАНИЕ. LwrCase.bat использует параметр / L команды DIR, который возвращает имена в нижнем регистре.

LwrCase.bat содержит:

LwrCase_Folder.bat содержит:

Лучшая программа для этого в Windows - это Bulk Rename Utility . Это мужской инструмент. Вы даже можете использовать регулярные выражения для переименования файлов и / или папок. Он также имеет интеграцию с оболочкой (так что вы можете запустить его из проводника, щелкнув правой кнопкой мыши), что очень приятно. Доступны 64-битные и 32-битные версии.

… Вы не можете указать новый диск или путь к файлу назначения.

Но move работает там, где rename это не так, поэтому вы можете рекурсивно переименовывать файлы в нижний регистр с помощью этой команды:


Многие из нас, набирая текст в ворде, не задумываются о последующем форматировании. А если вдруг понадобится перевести строчные буквы в заглавные или наоборот для целого абзаца? Ну не набирать же этот текст заново. Хочу предложить лёгкий способ как сделать все буквы заглавными или маленькими в Word.


Для изменения регистра букв в документе Word выделите текст, который хотите изменить. Далее перейдите на вкладку Главная, если она не активна и нажмите кнопку Регистр.


При этом в ниспадающем меню выберите нужный тип изменения регистра букв:

  • Как в предложениях. Строчная буква первого слова в предложении станет заглавной.
  • все строчные. Переводит каждую букву в тексте в нижний регистр.
  • ВСЕ ПРОПИСНЫЕ. Переводит каждую букву в тексте в в верхний регистр.
  • Начинать С Прописных. Первая буква каждого слова станет заглавной
  • иЗМЕНИТЬ РЕГИСТР. Переводит первую букву каждого слова в нижний регистр, а остальные буквы делает заглавными.

Например, если Вы забыли выключить клавишу Caps Lock и не глядя набрали пару предложений, то у Вас получится нечто вроде:


Выделите текст и выберите первую опцию Как в предложениях. Буквы примут правильный регистр.


Вы можете использовать клавиатуру, чтобы перевести заглавные буквы в строчные. Для этого выделите текст и нажмите Alt + Я, чтобы активировать вкладку Главная. Затем нажмите Alt + 7, а затем выберите нужный вариант, перемещаясь клавишами управления курсора Вверх и Вниз или клавишами П (Как в предложениях), Е (все строчные), В (ВСЕ ПРОПИСНЫЕ), Н (Начинать С Прописных), М (иЗМЕНИТЬ РЕГИСТР).


Вот так просто можно изменить регистр букв в Word и сделать буквы маленькими или большими.

Кстати, клавиатурная комбинация Shift + F3 позволяет выбрать любой режим регистра кроме последнего - иЗМЕНИТЬ РЕГИСТР, если нажимать эту комбинацию поочередно несколько раз.

Читайте также: