![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] проверка полного пути файла на кол-во символов, и обрезка имени в случае превышения |
|
|
PowerShell - [решено] проверка полного пути файла на кол-во символов, и обрезка имени в случае превышения
|
Старожил Сообщения: 286 |
Добрый!
Итак: нужно если длинна полного пути к файлу .mp4 <240 символов, тогда $file = "$dir$name.mp4" ели длинна полного пути >240 - $file = "$dir+обрезанный $name.mp4" Надеюсь хоть на этом форуме помогут) Заранее спасибо. для примера: имеем: D:\.\.\.длинное длинное имя.mp4 на выходе: D:\.\.\.длинное дл.mp4 Как именно и по какой логике это будет - неважно. главное результат. |
|
Отправлено: 02:04, 26-06-2021 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 9119:
|
|
Отправлено: 09:08, 26-06-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 286
|
Профиль | Отправить PM | Цитировать Iska,
Нужно так: если длинна полного пути <240 - $file = "$dir$name.mp4" ели длинна полного пути >240 - $file = "$dir+обрезанный $name.mp4" |
Отправлено: 09:23, 26-06-2021 | #3 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата 9119:
- но учитывайте момент из вопроса, заданного Iska... |
|
------- Последний раз редактировалось YuS_2, 26-06-2021 в 09:34. Причина: исправление ошибки в коде Отправлено: 09:26, 26-06-2021 | #4 |
Старожил Сообщения: 286
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
||
Отправлено: 09:27, 26-06-2021 | #5 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата 9119:
Цитата 9119:
- запустите код и увидите, что получилось... |
||
------- Последний раз редактировалось YuS_2, 26-06-2021 в 09:33. Отправлено: 09:27, 26-06-2021 | #6 |
Старожил Сообщения: 286
|
Профиль | Отправить PM | Цитировать давайте чуть подробнее.
изначально, имя для файла получается из заранее подготовленного txt файла конечный видео-файл будет имеет вид: D:\путь\имя файла\имя файла.mp4. Бывает что полный путь к файлу mp.4 выходит больше 240 символов. И из-за этого у софта который должен дальше обрабатывать конечный mp4 файл - возникают проблемы. Поэтому мне нужно организовать проверку общей длинны пути перед тем как создавать дерево папок и ложить туда файл.mp4. И если длинна больше 240 символов (например 270), отрезать лишние 30 символов, но именно у D:\путь\имя файла\имя файла.mp4 (т.е в имени самого файла.mp4) Если же длинна не превышает - оставляем как есть Т.е вот эта формулировка вроде бы максимально подходит под задачу) |
Последний раз редактировалось 9119, 26-06-2021 в 09:57. Отправлено: 09:46, 26-06-2021 | #7 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата 9119:
Измерять, Вы, предполагаете общую длину: D:\путь\имя файла\имя файла.mp4 Обрезать, желаете имя файла НО Вам описывают ситуацию, когда путь превышает те самые 240, т.е.: D:\путь\имя файла\имя файла.mp4 - здесь длина пути, допустим 270 символов. Действия? |
|
------- Отправлено: 10:09, 26-06-2021 | #8 |
Старожил Сообщения: 286
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Длинна должна считаться только полностью. т.е. D:\путь\имя файла\имя файла.mp4 $date = Get-Date -Format "ddMMyy" $tmp1 = "E:\!!Youtube\АРХИВ\!временное\Ролики\!в работе\tmp\1" $video_name1 = (Get-Content -encoding utf8 -Path "$tmp1\выкладка.txt")[0] $name1 = $video_name1 -replace '"', "" -replace ':', " -" -replace '/', "" -replace '\\', "" -replace '&', " and " -replace "‘", "" -replace "<", "" -replace ">", "" -replace "\|", "" -replace '\?', "" -replace '\*', "" -replace '¶', "" -replace '§', "" -replace "!", "" -replace ",", "" -replace "\.", " -" $dir1 = "E:\!!Youtube\АРХИВ\!временное\Ролики\$date-$name1\кс\" ... ... New-Item -Path $dir1 -ItemType Directory #до этой части мне нужно проверить длинну $dir1$name1.mp4, и если она больше 240, обрезать $name1 и перезаписать его с новым обрезанным значением. copy-item $tmp1\final_video.mp4 $dir1$name1.mp4 #здесь иногда получаем длинну > 240 символов D:\путь\имя файла\имя файла.mp4 в моем случае не будет превышать 240 символов. |
|
Последний раз редактировалось 9119, 26-06-2021 в 10:31. Отправлено: 10:16, 26-06-2021 | #9 |
Ветеран Сообщения: 1759
|
Цитата 9119:
Почему для сокращения длины пути не воспользоваться subst, как это делали еще наши пробабушки? |
|
Отправлено: 10:32, 26-06-2021 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - удалить первые 7 символов в имени файла | ВиталийВ | Скриптовые языки администрирования Windows | 14 | 02-08-2024 01:29 | |
PowerShell - обрезка спец символов и создание папки при копировании файла с очень длинным путем | 9119 | Скриптовые языки администрирования Windows | 6 | 10-06-2021 13:04 | |
.NET - Ошибка открытия файла из-за длинного полного имени файла | tumanovalex | Программирование и базы данных | 8 | 13-05-2018 23:21 | |
VBS/WSH/JS - Проверка наличия файла в папке в случае отсутствия перезагружать компьютер | NickCom | Программирование и базы данных | 4 | 19-08-2013 05:13 | |
CMD/BAT - [решено] Разработать программу которая будет считать кол-во символов,строк,слов в .txt | klenb | Скриптовые языки администрирования Windows | 10 | 18-05-2010 15:19 |
|