Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - Обрезание файлов в командной строке
4zz 4zz вне форума

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


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

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


Уважаемые знатоки!
Помогите написать батник-проблема:
при переносе папки появляются ошибки о длинном имени файла. Папка многоуровневая, содержит много папок и файлов и каждый раз приходится искать "неправильный" файл(путь+имя больше 255символов), переименовывать, опять запускать копирование и т.д. А в связи с тем, что папок много -это настоящий геморрой.. Ничего подходящего, моим условиям на форуме не нашел

Может это из области фантастики , но хотелось бы так:
При запуске батника из папки, происходит сканирование всех имеющихся в ней файлов и всех вложенных папок и при нахождении файла не удовлетворяющих условию (более 255сим.) - появляется сообщение о длинном имени и предложение переименовать его здесь же - в командной сроке, для чего выводится путь и имя. После переименования, продолжается сканирование, начиная с переименованного файла и так до полного исправления ошибок.

Отправлено: 00:13, 21-04-2012

 

Ветеран


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

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


4zz, можете использовать короткое имя папки.

Отправлено: 01:15, 21-04-2012 | #2



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

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

4zz 4zz вне форума Автор темы

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


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

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


Имена папок не длинные- но их много по вложенности и получается длинный путь.
Можно регулировать длиной имени файла-использовать сокращения и т.д., но для этого нужно понять что нужно менять и как-то автоматизировать -о чем я и пишу выше.

Отправлено: 09:22, 21-04-2012 | #3


Аватара для El Sanchez

Ветеран


Contributor


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

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


4zz, используйте robocopy.

Отправлено: 12:45, 21-04-2012 | #4


Аватара для CyberMuesli

Старожил


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

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


Цитата El Sanchez:
используйте robocopy. »

А эта утилита умеет преодолевать ограничение 256? Как? Есть какие-то штатные средства или она, например, на лету создает новые шары на источнике/приемнике на каждую копируемую папку, чтобы сократить путь

-------
Кибер Мюсли


Отправлено: 01:52, 21-05-2012 | #5



Moderator


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

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


Цитата CyberMuesli:
А эта утилита умеет преодолевать ограничение 256?
Цитата из документации:
By default Robocopy will handle file and directory path names up to almost 32,000 characters in length.
Цитата CyberMuesli:
Как? Есть какие-то штатные средства
На уровне API у CopyFileW и у других аналогичных функций:

Цитата MSDN:
In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "\\?\" to the path.
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:05, 21-05-2012 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] кодировка в командной строке Percival Microsoft Windows 7 95 24-11-2022 05:33
Блог - Как применять автоматическую подстановку имен файлов и папок в командной строке Vadikan Microsoft Windows 7 0 12-04-2011 11:30
Доступ - Пароль в командной строке AlexxxMksv Microsoft Windows 2000/XP 2 23-05-2009 03:03
Кириллица в командной строке mikha1979 Хочу все знать 6 10-07-2008 12:44
Вопрос по командной строке Homer_xxl Microsoft Windows 95/98/Me (архив) 6 02-04-2007 14:10




 
Переход