Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как в cmd.exe выполнить строку длиннее 256 символов? / 25 сообщений из 37, страница 1 из 2
16.09.2014, 17:12
    #38748232
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Google говорит,
что нет ограничений на длину строки, но у меня не получается это выполнить ни на Win XP, ни на Win 2008 Server
Надо выполнить например такое переименование (262 символа):
Папка 1 переименовывается на 2222...22222
авторmove 1 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

если чуток строку подсократить, то пепеименовывается

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
16.09.2014, 17:15
    #38748237
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
...
Рейтинг: 0 / 0
16.09.2014, 17:21
    #38748252
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
такое работает:
move 11111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

Значит, у меня другая проблема... :(
буду искать причину.
...
Рейтинг: 0 / 0
16.09.2014, 17:25
    #38748258
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Alionaтакое работает:
move 11111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
Логично, что работает. Тут 208 символов, а лимит 255
...
Рейтинг: 0 / 0
16.09.2014, 17:34
    #38748267
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Aliona, ты путаешь максимальную длину команды с максимальной длиной пути. Замени move на echo и ты увидишь что длинные строки обрабатываются. Что касается длины полного пути то это 259 символов. Следует уточнить что на самом деле Windows поддерживает пути длиной до 32 Кб, но встроенные приложения - проводник и cmd, например - это не поддерживают или поддерживают только отчасти. Например, в cmd можно выполнить такую команду:
dir \\?\%windir%
Префикс \\?\ это указание Windows разрешить использовать длинные пути файлов. К сожалению с командной move такие фокусы не проходят. Если сильно нужно создавать длинные имена, то поиши другие утилиты. Помни только что в проводнике их не получится просмотреть.
...
Рейтинг: 0 / 0
16.09.2014, 17:35
    #38748269
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
вот это у меня не выполняется, хотя именя файлов меньше 255 символов, ав общая длина строки около 300 символов
move /Y "F:\С-С, 0 - 202 км\Папка 14 том 4, книга 1 ку 61. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб ку 61) исполнительные схемы насыпи площадки)" "F:\С-С, 0 - 202 км\Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки)"
...
Рейтинг: 0 / 0
16.09.2014, 17:40
    #38748274
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
bazileAliona, ты путаешь максимальную длину команды с максимальной длиной пути. Замени move на echo и ты увидишь что длинные строки обрабатываются. Что касается длины полного пути то это 259 символов.

Я не путаю и даже не забыла, я этого просто не знаю, чайник я.

Как мне выполнить командный файл.cmd со строками, которые я привела выше.

Строки превышающие длину 255, не выаолняются:
авторИмя файла или его расширение имеет слишком большую длину.
Перемещено файлов: 0.
...
Рейтинг: 0 / 0
16.09.2014, 17:45
    #38748277
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Aliona, какая файловая система используется? NTFS, FAT32?
...
Рейтинг: 0 / 0
16.09.2014, 17:46
    #38748281
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Alionaвот это у меня не выполняется, хотя именя файлов меньше 255 символов, ав общая длина строки около 300 символов
move /Y "F:\С-С, 0 - 202 км\Папка 14 том 4, книга 1 ку 61. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб ку 61) исполнительные схемы насыпи площадки)" "F:\С-С, 0 - 202 км\ Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки) "Ну где же "меньше 255 символов", когда я вижу 262 во втором имени?
...
Рейтинг: 0 / 0
16.09.2014, 17:47
    #38748282
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
bazile, у меня под NTFS команда move из 16582299 выполнилась без ошибок.
...
Рейтинг: 0 / 0
16.09.2014, 17:48
    #38748286
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
miksoftНу где же "меньше 255 символов", когда я вижу 262 во втором имени?
Почему 262? 170 символов же.
...
Рейтинг: 0 / 0
16.09.2014, 17:50
    #38748289
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
bazilemiksoftНу где же "меньше 255 символов", когда я вижу 262 во втором имени?
Почему 262? 170 символов же.Сорри, проглядел, что в редакторе кодировка юникодная. Тогда 151 символ и должно выполняться.
...
Рейтинг: 0 / 0
16.09.2014, 17:53
    #38748293
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
miksoftAlionaвот это у меня не выполняется, хотя именя файлов меньше 255 символов, ав общая длина строки около 300 символов
move /Y "F:\С-С, 0 - 202 км\Папка 14 том 4, книга 1 ку 61. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб ку 61) исполнительные схемы насыпи площадки)" "F:\С-С, 0 - 202 км\ Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки) "Ну где же "меньше 255 символов", когда я вижу 262 во втором имени?

мой счетчик показывает 170 символов во встором имени
автор"F:\С-С, 0 - 202 км\Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки)"



Это не файлы, это папки с путями, может, в этом дело?
...
Рейтинг: 0 / 0
16.09.2014, 17:57
    #38748299
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
bazileAliona, какая файловая система используется? NTFS, FAT32?
сначала я выполнила скрипты на XP, там длинные строки не выполнились,
потом выполняла
на Win 2008 Server NTFS, не помогло
...
Рейтинг: 0 / 0
16.09.2014, 17:58
    #38748302
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
AlionaGoogle говорит,
что нет ограничений на длину строки, но у меня не получается это выполнить ни на Win XP, ни на Win 2008 Server

а у меня гугли говорит другое
http://support.microsoft.com/kb/830473/ru

но это все равно > ограничения на длину имени файла (250) символов

Alionaвот это у меня не выполняется, хотя именя файлов меньше 255 символов, ав общая длина строки около 300 символов
move /Y "F:\С-С, 0 - 202 км\Папка 14 том 4, книга 1 ку 61. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб ку 61) исполнительные схемы насыпи площадки)" "F:\С-С, 0 - 202 км\Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки)"
Странно. Вы бы хоть сообщение об ошибки написали, какое получаете.

Ну и непонятно желание использовать move /y, когда можно использовать rename
...
Рейтинг: 0 / 0
16.09.2014, 18:00
    #38748305
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
bazilebazile, у меня под NTFS команда move из 16582299 выполнилась без ошибок.

под NTFS
я эти строки пробовала вырезать из файла и выполнять в командной строке по одной - не помогло

может, cmd как-то настраивается?
...
Рейтинг: 0 / 0
16.09.2014, 18:01
    #38748309
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Какая ошибка?
...
Рейтинг: 0 / 0
16.09.2014, 18:06
    #38748313
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Leonid KudryavtsevСтранно. Вы бы хоть сообщение об ошибки написали, какое получаете.

Ну и непонятно желание использовать move /y, когда можно использовать rename

Сообщение об ошибке я выше приводила
авторИмя файла или его расширение имеет слишком большую длину.
Перемещено файлов: 0.


С более короткими строками move сработало на УРА, если rename позволяет длинные строки обрабатывать , то и его можно попробовать.
Я вообще в виндах не большой специалист.
...
Рейтинг: 0 / 0
16.09.2014, 18:10
    #38748319
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Leonid KudryavtsevКакая ошибка?

ещё раз:
авторC:\aaa>move /Y "F:\СИБУР\С-С, 0 - 202 км\Папка 14 том 4, книга 1 ку 61. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб ку 61) исполнительные схемы насыпи площадки)" "F:\СИБУР\С-С, 0 - 202 км\Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки)"
Имя файла или его расширение имеет слишком большую длину.
Перемещено файлов: 0.


C:\aaa>move /Y "F:\СИБУР\С-С, 0 - 202 км\Папка 14 том, 2 книга 4 к.у 6.1 Раздел ТМ, ТЛ (журнал сварки, закд.чения, акты, разрешения по к.у 6.1)" "F:\СИБУР\С-С, 0 - 202 км\Папка 14 том 02 книга 04 КУ 6.1 Раздел ТМ,ТЛ (журнал сварки, закд.чения, акты, разрешения)"
Перемещено файлов: 1.
...
Рейтинг: 0 / 0
16.09.2014, 18:12
    #38748322
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
AlionaИмя файла или его расширение имеет слишком большую длину.
Перемещено файлов: 0.

Ну так для тупых и написано. Нефиг настолько сильно выебы... с названиями файлов.

Да еще на достаточно устаревших на сегодняшний день системах (типа XP).

IMHO

p.s. Выскажу предположение, что проблема в русских буквах. Возможно английские и дает 250 символов имена файлов делать, а с русскими, вполне вероятно, предел наступает быстрее. Unicode тыж его.
...
Рейтинг: 0 / 0
16.09.2014, 18:15
    #38748326
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Предполагаю, что срабатывает ограничение на 260 символов всего пути.

http://www.tomshardware.co.uk/forum/59958-45-windows-directory-file-limits-maximums To access a 32000 char path use this syntax (the \\?\ is the part that says this is a 32000 character path).
\\?\c:\etc\etc\fname.ext
...
Рейтинг: 0 / 0
16.09.2014, 18:16
    #38748331
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Leonid KudryavtsevAlionaпропущено...


Ну так для тупых и написано. Нефиг настолько сильно выебы... с названиями файлов.

Да еще на достаточно устаревших на сегодняшний день системах (типа XP).


1. это не я, а армия программистов, а я тут человек маленький
2. уже 2 раза писала, что гоняла скрипт на Win 2008 Server, могу и на Win 2012 Server, но пока не поняла, в чем присина
...
Рейтинг: 0 / 0
16.09.2014, 18:16
    #38748332
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
IMHO Ели ставить более свежие Windows (или играться с файловой системой) или сокращать имена файлов.

Но, даже, если новая Windows файлы и съест (на Windows 8 Ваш пример выполнился), то хранить информацию в файлах "на пределе" это раскладывать грабли... рано или поздно кто нибудь пройдется
...
Рейтинг: 0 / 0
16.09.2014, 18:19
    #38748336
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
Leonid Kudryavtsev
IMHO

p.s. Выскажу предположение, что проблема в русских буквах. Возможно английские и дает 250 символов имена файлов делать, а с русскими, вполне вероятно, предел наступает быстрее. Unicode тыж его.

Нет русски буквы не причем, выше приводила уже, строка до 250 символов работает
авторC:\aaa>move /Y "F:\СИБУР\С-С, 0 - 202 км\Папка 14 том, 2 книга 4 к.у 6.1 Раздел ТМ, ТЛ (журнал сварки, закд.чения, акты, разрешения по к.у 6.1)" "F:\СИБУР\С-С, 0 - 202 км\Папка 14 том 02 книга 04 КУ 6.1 Раздел ТМ,ТЛ (журнал сварки, закд.чения, акты, разрешения)"
Перемещено файлов: 1 .
...
Рейтинг: 0 / 0
16.09.2014, 18:21
    #38748339
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в cmd.exe выполнить строку длиннее 256 символов?
???
Alionaвот это у меня не выполняется, хотя именя файлов меньше 255 символов, ав общая длина строки около 300 символов
move /Y "F:\С-С, 0 - 202 км\Папка 14 том 4, книга 1 ку 61. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб ку 61) исполнительные схемы насыпи площадки)" "F:\С-С, 0 - 202 км\Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки)"
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как в cmd.exe выполнить строку длиннее 256 символов? / 25 сообщений из 37, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]