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

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

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

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

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

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

Строки превышающие длину 255, не выаолняются:
авторИмя файла или его расширение имеет слишком большую длину.
Перемещено файлов: 0.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748277
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aliona, какая файловая система используется? NTFS, FAT32?
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748281
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748282
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile, у меня под NTFS команда move из 16582299 выполнилась без ошибок.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748286
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftНу где же "меньше 255 символов", когда я вижу 262 во втором имени?
Почему 262? 170 символов же.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748289
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilemiksoftНу где же "меньше 255 символов", когда я вижу 262 во втором имени?
Почему 262? 170 символов же.Сорри, проглядел, что в редакторе кодировка юникодная. Тогда 151 символ и должно выполняться.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748293
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748299
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileAliona, какая файловая система используется? NTFS, FAT32?
сначала я выполнила скрипты на XP, там длинные строки не выполнились,
потом выполняла
на Win 2008 Server NTFS, не помогло
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748302
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748305
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilebazile, у меня под NTFS команда move из 16582299 выполнилась без ошибок.

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

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

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

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


С более короткими строками move сработало на УРА, если rename позволяет длинные строки обрабатывать , то и его можно попробовать.
Я вообще в виндах не большой специалист.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748319
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748322
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlionaИмя файла или его расширение имеет слишком большую длину.
Перемещено файлов: 0.

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

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

IMHO

p.s. Выскажу предположение, что проблема в русских буквах. Возможно английские и дает 250 символов имена файлов делать, а с русскими, вполне вероятно, предел наступает быстрее. Unicode тыж его.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748326
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предполагаю, что срабатывает ограничение на 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
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748331
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevAlionaпропущено...


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

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


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

Но, даже, если новая Windows файлы и съест (на Windows 8 Ваш пример выполнился), то хранить информацию в файлах "на пределе" это раскладывать грабли... рано или поздно кто нибудь пройдется
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748336
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748339
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
???
Alionaвот это у меня не выполняется, хотя именя файлов меньше 255 символов, ав общая длина строки около 300 символов
move /Y "F:\С-С, 0 - 202 км\Папка 14 том 4, книга 1 ку 61. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб ку 61) исполнительные схемы насыпи площадки)" "F:\С-С, 0 - 202 км\Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки)"
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748344
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevIMHO Ели ставить более свежие Windows (или играться с файловой системой) или сокращать имена файлов.

Но, даже, если новая Windows файлы и съест (на Windows 8 Ваш пример выполнился), то хранить информацию в файлах "на пределе" это раскладывать грабли... рано или поздно кто нибудь пройдется

Хот 100 раз назовите дурой,
я за грабли не отвечаю, мне надо придумать, что с этим делать, а грабли останутся для потомков :)

завтра попробую выполнить на Win 2012 Server
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748349
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alionaмне надо придумать, что с этим делатьПочему Вы не хотите воспользоваться методом описанным в ссылке, которую указал pkarklin и цитировал потом я ?
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748441
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alionaзавтра попробую выполнить на Win 2012 Server
То есть? До этого ты уже пробовала на Win XP и Win 2008? Диск F: сетевой что-ли?
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748634
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alionaвот это у меня не выполняется, хотя именя файлов меньше 255 символовЕсли целевой путь плюс имя исходного файла превышают 255 символов ...

P.S. Иногда помогает "шаманство с текущим каталогом" - переходим в целевой каталог и перемещаем файл из исходного. Тогда move оперирует (только) именем файла.
Но, как уже сказали, или осетра урезать или другими утилитами пользоваться.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748732
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftAlionaмне надо придумать, что с этим делатьПочему Вы не хотите воспользоваться методом описанным в ссылке, которую указал pkarklin и цитировал потом я ?
Потому что эту ссылку я читала ещё раньше, там мне не всё понятно.

Сегодня в метро придумала написать такой скрипт:
cd каталог1
move
cd каталог2
move
и т.д.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748733
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileAlionaзавтра попробую выполнить на Win 2012 Server
То есть? До этого ты уже пробовала на Win XP и Win 2008? Диск F: сетевой что-ли?
не сетевой, а внешний, USB
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748783
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aliona
Сегодня в метро придумала написать такой скрипт:
cd каталог1
move
cd каталог2
move
и т.д.
И это не спасает, пишу скрипт так:

авторSELECT LENGTH(a.potok),LENGTH(a.new_fld), LENGTH ('move /Y "'||a.potok||'" "'||a.new_fld||'"'),'move /Y "'||a.potok||'" "'||a.new_fld||'"' str
FROM exchange_pods.tom_potok a
where LENGTH ('move /Y "'||a.potok||'" "'||a.new_fld||'"')>250;

получаю 41 строки >250

получаю такие строки длиной 320:
авторmove /Y "Папка 14 том 4, книга 1 ку 61. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб ку 61) исполнительные схемы насыпи площадки)" "Папка 14 том 04 книга 01 КУ 6.1. Раздел ГТ (акты разбивки осей, акты освидетельствования, акты отбора проб КУ 61) исполнительные схемы насыпи площадки)"
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38748930
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выпуталась так,
написала 2 скрипта:
первый переименовывает длинное название в короткое,
второй переименовывает короткое название в длинное
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38749093
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
cd /d Источник-с-длинным-именем
md X:\1
for %%A in (шаблон) do (
  move %A X:\1
  pushd Приёмник-с-длинным-именем
  move X:\1\%A
  popd
)
"По моему так" (ц) Винни-Пух
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38749120
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alionaпереименовывает
Не очень понятно, почему "переименовывает" у Вас это команда move.

IMHO лучше команды использовать более "по назначению". Я бы "переименовать" использовал rename.
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38749204
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevAlionaпереименовывает
Не очень понятно, почему "переименовывает" у Вас это команда move.

IMHO лучше команды использовать более "по назначению". Я бы "переименовать" использовал rename.

А с чего ты решил что источник на том же диске, что и приемник?
...
Рейтинг: 0 / 0
Как в cmd.exe выполнить строку длиннее 256 символов?
    #38749584
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А про robocopy никто не знает что ли? Эта майкрософтовская утилита умеет и сетевые пути использовать и поддерживает длинные имена файлов!
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как в cmd.exe выполнить строку длиннее 256 символов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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