Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2010-03-18

Path too long error message

Прогресс, говорите? Уж 21-ый век, космические корабли бороздят, 64-битные ОСи на компах, а полное имя файла по прежнему не может превышать 255 символов. Как хотите, а это на прогресс не похоже.
Это просто беда, когда файл создать можно, а скопировать/удалить/запаковать/итд нельзя.
Не буду рассуждать на тему, как эта беда усугубляется несознательными пользователями, которые ничтоже сумняшеся, создают файлы с именами, подобными «c:\Documents and Settings\Петрович\Desktop\Квартальный отчет по расходованию туалетной бумаги, двойной в цветочек.doc».
Также, не буду упоминать злобных программеров и софтинженеров, которые, прекрасно зная об ограничениях, упорно провоцируют пользователей создавать подобные файлы.

Лучше расскажу об одном из решений этой злоебучей проблемы.

Допустим, у нас есть каталог:
\\linserv\files\super puper long\path to files\we need\t\a nasty long dir\
в нем лежат файлы в подкаталогах, такие, что полные имена файлов превышают ограничения ОС и возможности архиватора. Архиватор не может запаковать эти файлы, ругаеццо.
Что делать? Упаковать надо. Как вариант, можно делать так:

C:\t>pushd "\\linserv\files\super puper long\path to files\we need\t"
Y:\super puper long\path to files\we need\t>subst x: "a nasty long dir"
Y:\super puper long\path to files\we need\t>pushd x:
... жмем файлы в текущем каталоге (x:\ который есть редирект на \\linserv\files\super puper long\path to files\we need\t\a nasty long dir\)...
X:\>popd
Y:\super puper long\path to files\we need\t>subst x: /d
Y:\super puper long\path to files\we need\t>popd
Две полезные статьи на эту тему, от мелкомягких:

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)