Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как убрать сокращение имени папки в пути к файлу?

Ответить
Настройки темы
CMD/BAT - [решено] Как убрать сокращение имени папки в пути к файлу?

Аватара для V!RTuE

Пользователь


Сообщения: 90
Благодарности: 6

Профиль | Отправить PM | Цитировать


вот часть кода
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion
SET f=%~dp0
...
echo Расположение: "%f%" >> "%f%body.txt"
В итоге зачастую в файл записывается так: Расположение: E:\CONSFL~1\
А надо чтобы полностью имя папки отображалось.

Отправлено: 22:54, 07-09-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Насколько «зачастую»? Есть какая-либо повторяемость?

Суть в том, что это, как я полагаю, может быть связано с тем, что:
  • пакетный файл запускается непосредственно из содержащей его папки;
  • уже до начала исполнения пакетного файла текущим каталогом является именно имя в формате 8.3.
Например:
Цитата:
Код: Выделить весь код
E:\Песочница\0397>type 0005.cmd
@echo off
setlocal enableextensions enabledelayedexpansion

echo [%~dp0]

endlocal
exit /b 0

E:\Песочница\0397>0005.cmd
[E:\Песочница\0397\]

E:\Песочница\0397>cd E:\DCB3~1\0397

E:\DCB3~1\0397>0005.cmd
[E:\DCB3~1\0397\]

E:\DCB3~1\0397>

Последний раз редактировалось Iska, 07-09-2014 в 23:06.


Отправлено: 22:58, 07-09-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для V!RTuE

Пользователь


Сообщения: 90
Благодарности: 6

Профиль | Отправить PM | Цитировать


Iska, скорей всего каждый раз, если батник запускается автоматически (настроено в планировщике заданий)

Цитата Iska:
пакетный файл запускается непосредственно из содержащей его папки; »
да, так оно и есть.
И что никак не исправить? перемещать батник нельзя

Цитата Iska:
уже до начала исполнения пакетного файла текущим каталогом является именно имя в формате 8.3. »
а что это за формат 8.3? и как узнать?

P.S.: имя папки в таком формате записывается на всех пока что настроенных компьютерах (win 7, xp, server 2003 и не важно x32 или х64). Но если тестирую на своем win 8.1 x64 и xp x32 (даже если через планировщик заданий запускаю), то имя полностью отображается. файловая система везде NTFS

Последний раз редактировалось V!RTuE, 07-09-2014 в 23:23.


Отправлено: 23:02, 07-09-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата V!RTuE:
настроено в планировщике заданий »
Покажите скриншот первой вкладки задания.

Цитата V!RTuE:
а что это за формат 8.3? »
Это то, что Вы видите у себя «зачастую». Аналогично «dir /x».

8.3 — Википедия
8.3 filename - Wikipedia, the free encyclopedia (более качественный материал)
How Windows Generates 8.3 File Names from Long File Names

Цитата V!RTuE:
Но если тестирую на своем win 8.1 x64 и xp x32 (даже если через планировщик заданий запускаю), то имя полностью отображается. »
Аналогично — тоже покажите скриншот первой вкладки задания. Попробуем сравнить «нехорошо» и «хорошо».

Отправлено: 23:48, 07-09-2014 | #4


Аватара для V!RTuE

Пользователь


Сообщения: 90
Благодарности: 6

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg 1.jpg
(139.2 Kb, 27 просмотров)
Тип файла: jpg 2.jpg
(110.6 Kb, 23 просмотров)

Iska, на win 8.1 x64 и xp x32. Но на остальных всё точно также настраивал (сейчас к ним доступа нет)

Отправлено: 23:53, 07-09-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


V!RTuE, по поводу 1) не скажу — то ли не видно там путей, то ли я просто плохо навскидку представляю вид вкладок задания в новых системах, надо смотреть.

По поводу 2) — там всё интереснее. Приведите полное содержание поля «Выпонить» текстом, на скриншоте не видно. Далее: Рабочей папкой (текущим каталогом) для задания указан сетевой каталог, UNC. И, поскольку содержимым задания является пакетный файл — то, если Вы принудительно не разрешали использование UNC-путей в качестве текущего каталога (Cmd.exe does not support UNC names as the current directory), интерпретатор команд «cmd.exe» должен автоматически сделать текущим каталогом для пакетного файла каталог «%SystemRoot%».

Цитата V!RTuE:
сейчас к ним доступа нет »
Подождём.

Отправлено: 07:39, 08-09-2014 | #6


Аватара для V!RTuE

Пользователь


Сообщения: 90
Благодарности: 6

Профиль | Отправить PM | Цитировать


Iska, на первом скрине путь e:\Консультант Плюс\
на втором (можно догадаться, если посмотреть на рабочую папку) \\VBOXSVR\e_drive\Консультант Плюс\ (это на виртуальной машине тестировал). А вообще на всех компах путь стандартный c:\ConsultantPlus\ (может на некоторых меняться диск на d или название папки другое. Но даже если в пути нет пробелов, то сокращает имя папки). По поводу UNC-путей, то батник написан так, что для него не важно откуда запускается - свою работу выполняет всегда.

Вот примеры сокращения имени папки на разных компах (мне на почту приходят отчеты)
Код: Выделить весь код
Расположение К+: D:\CONSUL~1\CONS.exe 
Расположение К+: C:\CONSUL~1\CONS.exe 
Расположение К+: S:\Shares_\CONSUL~1\ 
Расположение К+: C:\K_B2B4~1\CONS.exe (тут, кстати, имя папки по-русски К+)
ОС везде разные (xp, 7, win server 2003)
P.S.: могу весь батник выслать в лс (но не хочу в общий доступ пока что выкладывать). там ~500 строк кода

Последний раз редактировалось V!RTuE, 08-09-2014 в 14:41.


Отправлено: 14:33, 08-09-2014 | #7


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата V!RTuE:
Вот примеры сокращения имени папки на разных компах »
V!RTuE, какой путь указан в «Рабочей папке» на этих машинах? «Длинный» или «короткий»? Если не указан путь в «Рабочей папке», как указан путь к самому пакетному файлу?

P.S. Глубоко спрятано в новых ОС:

Отправлено: 15:12, 08-09-2014 | #8


Аватара для V!RTuE

Пользователь


Сообщения: 90
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата Iska:
V!RTuE, какой путь указан в «Рабочей папке» на этих машинах? «Длинный» или «короткий»? Если не указан путь в «Рабочей папке», как указан путь к самому пакетному файлу? »
пока сказать не могу. завтра только смогу подробно посмотреть на некоторых компах. может что еще надо глянуть? чтобы по максимуму собрать инфу.

Отправлено: 15:19, 08-09-2014 | #9


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


V!RTuE, пока других идей нет.

Отправлено: 15:22, 08-09-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как убрать сокращение имени папки в пути к файлу?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - Как убрать длинные пути к расшаренным папкам? Wanderer-1000 Microsoft Windows 7 0 16-08-2012 10:15
Интерфейс - Копирование пути к файлу с помощью горячих клавиш garynich Microsoft Windows 7 12 30-03-2012 15:00
CMD/BAT - [решено] Текущая дата в пути к файлу AlexVong Скриптовые языки администрирования Windows 3 18-11-2011 00:43
Доступ - длина пути к файлу exo Windows Server 2008/2008 R2 5 20-04-2011 19:04
CMD/BAT - [решено] Ошибка в пути к файлу Lubitel Softa Скриптовые языки администрирования Windows 10 04-10-2010 15:02




 
Переход