Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/79: Рейтинг темы: голосов - 79, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 18

Изменить регистр в расширении файлов

09.04.2015, 11:22. Показов 15653. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Не знаю, в том ли разделе разместил тему. Если не в том - не ругайте больно.

Суть вот в чем. Есть программа СБИС++ (электронная отчетность). И есть отчет, который в ней надо отправить. К отчету требуется при этом прикрепить несколько pdf-ных файлов.

Это присказка. А сказка вот в чем.
ОС - Windows 7 HB. Есть МФУ (Canon MF4410), который сканирует эти самые pdf-ки. НО! сканирует их так, что у pdf-ок расширение получается не *.pdf, а *.PDF. Казалось бы, в чем разница - для винды что малый регистр расширения, что большой - роли не играет. А вот СБИС++ такие файлы категорически отказывается признавать за pdf. Вот не тот регистр ему - и все тут. То же самое и с остальными файловыми расширениями - МФУ дает, к примеру, JPG, СБИС отказывается, признавая только jpg. Служба поддержки СБИС единственно что порекомендовала - заменять регистр расширения с помощью ТоталКоммандера. Каждый раз. При каждой отправке.

И вот вопрос: как в Windows 7 HB настроить МФУ так, чтобы он сохранял не PDF, а pdf? В какой, может, ветке реестра ковыряться надо?

(забегая вперед - да, в гугле искал. Гугль с такой проблемой, как выяснилось, еще не сталкивался. А может я плохо искал)

Заранее благодарен
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2015, 11:22
Ответы с готовыми решениями:

Запись в файл withx.txt имён файлов в каталоге Winnt на устройстве c:, в расширении которых вторая буква - x
г) Написать bat-файл, имена файлов в каталоге Winnt на устройстве c:, в расширении которых вторая буква - x, записать в файл withx.txt

Изменить регистр
Описать процедуру upCaseRus(S), преобразующую все строчные русские буквы строки S в прописные (остальные символы строки S не изменяются)....

Изменить регистр букв
Всем привет. Просьба написать маленькую программку, чтобы в исходном тексте все буквы меняли свой регистр на большой.

20
Эксперт HardwareЭксперт Windows
 Аватар для gecata
15907 / 7930 / 755
Регистрация: 03.01.2012
Сообщений: 32,863
09.04.2015, 11:44
Anton_R, А если в редакторе реестра: Найти (поставить галочку "С учётом регистра") .PDF или (.JPG) и посмотреть, имеет ли найденное отношение к проге сканирования МФУ. Если имеет - переписать соответственно на .pdf (.jpg)
0
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 18
09.04.2015, 12:41  [ТС]
Цитата Сообщение от gecata Посмотреть сообщение
(поставить галочку "С учётом регистра")
Увы, в семерке почему-то такого нет ((( попробовал и на другой версии семерки - Профессиональная - и там тоже такая возможность (поставить галку) отсутствует. (((((
0
Эксперт HardwareЭксперт Windows
 Аватар для gecata
15907 / 7930 / 755
Регистрация: 03.01.2012
Сообщений: 32,863
09.04.2015, 13:05
Anton_R, Н-дя. Полазала по реестру и настройкам сканирующей проги (у меня тоже МФУ Кэннон, только модель другая) - возможности изменить регистр там не предусмотрено. Во всяком случае, я не нашла... У меня одна идея - создать батник, который будет тупо переписывать расширения файлов в указанной ему папке...
3
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 18
09.04.2015, 15:11  [ТС]
Цитата Сообщение от gecata Посмотреть сообщение
У меня одна идея - создать батник, который будет тупо переписывать расширения файлов в указанной ему папке...
Геката, а как его создать? с помощью чего?
0
09.04.2015, 15:14

Не по теме:

Anton_R, Я тему передвину в раздел по cmd. Может, там подскажут

0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
09.04.2015, 15:52
Цитата Сообщение от gecata Посмотреть сообщение
У меня одна идея - создать батник, который будет тупо переписывать расширения файлов в указанной ему папке...

gecata, хорошая идея.

Anton_R, код
Windows Batch file
1
@cd/d "%~dp0"& for /f "delims=" %%i in ('dir/a-d/b *.pdf') do  @ren "%%i" "%%~ni.pdf"
сохраните в текстовом файле, смените расширение этого файла на ".bat", поместите этот пакетный файл в папку с PDF-файлами и запустите, и, как говорится, будет Вам счастье.
2
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 18
09.04.2015, 16:17  [ТС]
ComSpec
Спасибо )
А скажите, пожалуйста - единицу перед кодом тоже в текстовый файл или это просто номер строки?
0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
09.04.2015, 16:32
Anton_R, нет, конечно. Это просто номер строки, проставляемый для кодов при обычном использовании тегов кода. Есть вариант использования данных тегов для публикации кодов и без номеров строк:
Windows Batch file
@cd/d "%~dp0"& for /f "delims=" %%i in ('dir/a-d/b *.pdf') do  @ren "%%i" "%%~ni.pdf"
.
2
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 18
09.04.2015, 16:42  [ТС]
Спасибо ) работает.

Правда, для этого - у нас же семерка, чтоб ее... - пришлось батнику в свойствах прописать "запуск в режиме совместимости с Windows XP" и "запуск от имени администратора". Только после этого прога с легкостью поменяла расширение всем файлам.

Еще раз всем большое спасибо )))
0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
09.04.2015, 16:55
Цитата Сообщение от Anton_R Посмотреть сообщение
"запуск от имени администратора"

Anton_R, я предчувствовал, что это может случиться, и ввёл в код команду
Windows Batch file
1
cd/d "%~dp0"
, которую обычно в кодах не пишут. Без неё бы не сработало...
1
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 18
09.04.2015, 16:55  [ТС]
ой... рано обрадовался ((((
Переместил батник в другую папку - не работает. Или он только на определенную папку теперь рассчитан?
0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
09.04.2015, 17:17
Цитата Сообщение от Anton_R Посмотреть сообщение
пришлось батнику в свойствах прописать "запуск в режиме совместимости с Windows XP" и "запуск от имени администратора".

Anton_R, Вы же это прописывали не для самого пакетного файла, а, например, для его ярлыка, а ярлык "увязан" с предыдущим расположением пакетного файла. Просто запускайте его напрямую через пункт контекстного меню проводника "Запуск от имени администратора", а режим совместимости с Windows XP не нужен, поскольку код ничего "противоречащего" Windows 7, не содержит. У меня он и в Windows 8.1 работает.
1
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 18
10.04.2015, 07:59  [ТС]
Цитата Сообщение от ComSpec Посмотреть сообщение
Anton_R, Вы же это прописывали не для самого пакетного файла, а, например, для его ярлыка,
Увы, как раз именно для файла ((((

Убирал и режим совместимости, и вновь его ставил, и "именем администратора" запускал... но уже не работает. Один раз сработал - и все ((((

Цитата Сообщение от ComSpec Посмотреть сообщение
У меня он и в Windows 8.1 работает.
Вот я и думаю - что у меня там не так? У меня - Win7Pro.
0
Эксперт HardwareЭксперт Windows
 Аватар для gecata
15907 / 7930 / 755
Регистрация: 03.01.2012
Сообщений: 32,863
10.04.2015, 18:28
Anton_R, А как перемещали? "Вырезать"-"Вставить", или как-то иначе?
0
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 18
13.04.2015, 10:14  [ТС]
Цитата Сообщение от gecata Посмотреть сообщение
Anton_R, А как перемещали? "Вырезать"-"Вставить", или как-то иначе?
Поначалу кинул в общую папку, надеясь потом воспользоваться на другом компе. Потом скопировал оттуда в ту папку, где хотел проверить. Проверил, получилось. Окрыленный, вырезал из уже этой папки и вставил в другую. И уже не получилось (((
0
1748 / 353 / 41
Регистрация: 15.10.2012
Сообщений: 550
13.04.2015, 12:08
В той папке, где запущен, и подпапках, все латинские буквы в любых расширениях - в нижний регистр.
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
setlocal enabledelayedexpansion enableextensions
cd/d "%~dp0"
for /r %%i in (*) do (
  set "x=%%~xi"
  set "x=!x:a=a!"&set "x=!x:b=b!"&set "x=!x:c=c!"&set "x=!x:d=d!"&set "x=!x:e=e!"&set "x=!x:f=f!"&set "x=!x:g=g!"&set "x=!x:h=h!"&set "x=!x:i=i!"&set "x=!x:j=j!"&set "x=!x:k=k!"&set "x=!x:l=l!"&set "x=!x:m=m!"&set "x=!x:n=n!"&set "x=!x:o=o!"&set "x=!x:p=p!"&set "x=!x:q=q!"&set "x=!x:r=r!"&set "x=!x:s=s!"&set "x=!x:t=t!"&set "x=!x:u=u!"&set "x=!x:v=v!"&set "x=!x:w=w!"&set "x=!x:x=x!"&set "x=!x:y=y!"&set "x=!x:z=z!"
  ren "%%~i" "%%~ni!x!"
)
1
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,898
13.04.2015, 13:32
Я правильно понял, что вопросу выполнения команды

Windows Batch file
1
rename *.PDF *.pdf
посвящено уже около 20 сообщений?
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
13.04.2015, 13:40
volodin661, вроде того
Anton_R, как именно не работает? Подпапки есть, в них не переименовывает?
0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
15.04.2015, 12:24
Тестировал код на большом количестве файлов. При количестве файлов от 3100 (более точное число не устанавливал, да это и не нужно, поскольку, думаю, что на других "машинах" это число может быть другим) после срабатывания пакетного файла никаких изменений в регистре расширений файлов не происхлдит. Иногда только у единичных файлов этот регистр меняется на нужный.

На самом же деле это только видимость: при обновлении окна проводника все файлы оказываются правильно переименованными.

Думаю, что ТС столкнулся именно с этим "феноменом".
4
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2015, 12:24
Помогаю со студенческими работами здесь

Изменить регистр символа
Почему не работает вот этот код: var a, b, c, d:char; begin read (a); b:=('A'); c:=('Z'); d:=('a'); if...

Изменить регистр букв
Ребята, помогите пожалуйста дописать. Суть в том, что меняет верхний на нижний, а как сделать, что-бы все Большие менялись на маленькие, а...

Изменить регистр символа
Измените регистр символа, если он был латинской буквой: сделайте его заглавным, если он был строчной буквой и наоборот. Для этого напишите...

Изменить регистр текста
Помогите написать программу. Нужно прочитать из файла текст, изменить регистр символов на обратный (с нижнего на верхний и наоборот)и...

Изменить регистр символа
Измените регистр символа, если он был латинской буквой: сделайте его заглавным, если он был строчной буквой и наоборот. Для этого напишите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru