Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/40: Рейтинг темы: голосов - 40, средняя оценка - 4.88
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510

Как получить короткие имена?

24.02.2013, 13:14. Показов 8759. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно как-то по простому получить короткие пути в кодировке OEM866?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.02.2013, 13:14
Ответы с готовыми решениями:

Короткие имена (ru, su)
Где можно просмотреть короткие имена для стран, что-то вроде: RU (для России), SU (для США). я не знаю как это называется, но надеюсь вы...

Короткие имена для частоприменяемых функций
Доброго времени суток. С недавнего времени в больших проектах, для частоприменяемых функций стал создавать сокращения и упрощения. ...

Записать в данный файл короткие имена всех найденных файлов и даты их последней модификации. Вывести содержания файла
Помогите пожалуйста имеются коды . И еще надо - Записать в данный файл короткие имена всех найденных файлов и даты их последней...

21
 Аватар для Badger
95 / 95 / 4
Регистрация: 25.06.2012
Сообщений: 278
24.02.2013, 15:12
Bash
1
2
3
@echo off
set folder=c:\temp
for /f "delims=" %%a in ('dir /b "%folder%"') do echo %%~sa
Цитата Сообщение от casual_visitor Посмотреть сообщение
в кодировке OEM866
Предварительно сохраните файл в этой кодировке.
1
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
24.02.2013, 18:32
Bash
1
2
3
4
5
6
7
@echo off
SetLocal enabledelayedexpansion
for /f "skip=4 tokens=2-4* delims= " %%a in ('dir /x "%temp%\*.*"') do (
set rr=%%c& set tt=%%d
if defined rr if defined tt (echo !rr! =  !tt!)
)
pause
2
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
24.02.2013, 19:08  [ТС]
Круто... А как Мои документы преобразовать в Мои~hz12?
0
 Аватар для Badger
95 / 95 / 4
Регистрация: 25.06.2012
Сообщений: 278
24.02.2013, 20:01
sov44, чтото не въеду как берутся токены в вашем примере
Миниатюры
Как получить короткие имена?  
0
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
24.02.2013, 21:42
Цитата Сообщение от casual_visitor Посмотреть сообщение
А как Мои документы преобразовать в Мои~hz12?
Bash
1
2
3
4
5
@echo off
for /f "skip=4 tokens=2-4* delims= " %%a in ('dir /ad /x "%UserProfile%"') do (
if /i "%%d"=="Мои документы" Echo Мои документы - %%c
) 
pause
Цитата Сообщение от Badger Посмотреть сообщение
как берутся токены в вашем примере
Немного не правильно разделили столбцы. Посмотрите вывод %%a - %%d.

Добавлено через 12 минут
Поправка. В примере короткое имя для папки "Мои документы" текущего пользователя.
Для вывода папки "Мои документы" системы, %UserProfile% заменить на %AllUsersProfile%
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
24.02.2013, 23:59
Badger,
Миниатюры
Как получить короткие имена?  
2
 Аватар для Badger
95 / 95 / 4
Регистрация: 25.06.2012
Сообщений: 278
25.02.2013, 00:57
Цитата Сообщение от sov44 Посмотреть сообщение
Немного не правильно разделили столбцы.
Вывел %%a-%%d, я считал, что и размер будет учитываться, т.к. на скрине он есть и разделен пробелами, я выделил его тоже.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
25.02.2013, 01:56
Пустые токены внутри разделителей не считаются токенами.
Особенность № 2 https://www.cyberforum.ru/cmd-... ost4090287
0
 Аватар для Badger
95 / 95 / 4
Регистрация: 25.06.2012
Сообщений: 278
25.02.2013, 02:33
Цитата Сообщение от Dragokas Посмотреть сообщение
Пустые токены
Так пустые они только у каталогов, у файлов там указан их размер.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
25.02.2013, 14:22
Так в посте № 3 написано на скорую руку.
Позже, sov44, поправил, указав ключ /ad

Если у файлов - то там будет брать именно размер, причем в этом случае обычно еще указывается и ключ /-C
0
 Аватар для Badger
95 / 95 / 4
Регистрация: 25.06.2012
Сообщений: 278
25.02.2013, 14:35
В этом и странность, потому что работает и для файлов и для каталогов без ключей /ad и /-c
0
2 / 2 / 0
Регистрация: 20.03.2017
Сообщений: 21
12.01.2024, 11:15
Подниму тему.
Если длинный целевой путь к файлу, более 250 символов, короткие имена улучшают работу с такими файлами?

И как прописать путь с короткими именами к такому файлу?
Вот получил путь, но конструкция "set "small=%%~fsa"" всё-равно даёт полный путь к файлу.
А приведённый выше пример не смог адаптировать для файлов.
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
12.01.2024, 11:48
Ber Strider, в новых версиях винды вроде как короткие пути выключены, а лимит на количество символов можно увеличить до 32767:

Windows Batch file
1
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /d 1 /t REG_DWORD /f
0
2 / 2 / 0
Регистрация: 20.03.2017
Сообщений: 21
12.01.2024, 22:01
Цитата Сообщение от nekit270 Посмотреть сообщение
Ber Strider, в новых версиях винды вроде как короткие пути выключены, а лимит на количество символов можно увеличить до 32767
Это да, но это не помогает для консольных утилит. Да и многие приложения сами по себе не поддерживают длинные пути.
У нас структура проектов предполагает длинные названия файлов, плюсом сюда иерархия каталогов и получаем то, что есть.
Читал по символьные ссылки, но они требуют прав администратора. В итоге спасает "subst".
0
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,897
12.01.2024, 22:55
Цитата Сообщение от Ber Strider Посмотреть сообщение
Это да, но это не помогает для консольных утилит
???

по всей видимости я не столь опытен,
а чем консольные приложения в этом смысле отличаются от неконсольных ?

Добавлено через 4 минуты
как может в NTFS не хватать длины путей ? что за околесица ?
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
12.01.2024, 23:24
Цитата Сообщение от volodin661 Посмотреть сообщение
а чем консольные приложения в этом смысле отличаются от неконсольных ?
Многие приложения, особенно старые, выделяют под путь к файлу буфер в 260 символов (MAX_PATH), поэтому, вне зависимости от максимальной длины пути в системе, они не смогут принять путь такого размера
0
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,897
13.01.2024, 00:11
Существует два параметра MAX_PATH, один для консольных приложений, другой для оконных ? )
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
13.01.2024, 00:20
volodin661, MAX_PATH везде един, но раз Ber Strider заметил у консольных утилит больше трудностей с обработкой длинных путей, возможно, он чаще используется именно в них
0
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,897
13.01.2024, 00:26
nekit270,
ты знаешь, чем консольное приложение отличается от неконсольного ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2024, 00:26
Помогаю со студенческими работами здесь

Как получить имена компьютеров в сети?
Надоумьте, как получить имена всех компьютеров подключенных в настоящий момент к сети Microsoft? (нужен список в listBox`е). Заранее...

Как получить имена компьютеров по их IP адресам?
Всем привет.Получаю IP адреса компов в сети так: Imports System.Net Imports System.Net.Sockets Imports System.DirectoryServices ...

Как получить имена компьютеров в сети?
Нужно получить имена всех компьютеров подключенных в настоящий момент к сети Microsoft!

Как получить рандомные имена файлов?
Есть имена файлов: game-Black-Star2dx-l2-1-0.dll game-Black-Star1dx-l1-1-0.dll Заношу список в string Vata = new string { имена...

Как получить имена столбцов таблицы php
Как получить имена всех столбцов таблицы?


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

Или воспользуйтесь поиском по форуму:
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