Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/55: Рейтинг темы: голосов - 55, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 01.03.2020
Сообщений: 11

Изменение названия файлов в PowerShell

05.03.2020, 22:21. Показов 11598. Ответов 36

Студворк — интернет-сервис помощи студентам
Задача такова: у нас есть папка task лежит на рабочем столе C:\Users\Пользователь\Desktop\task.
В этой папке находятся 7 файлов, при том в каждом файле находятся числа не по порядку, необходимо переименовать файлы в цикле, чтобы название файла соответствовало содержимому.
содержимое в папке - содержимое в файле
1.txt - 6
2.txt - 7
3.txt - 8
4.txt - 9
5.txt - 0
6.txt - 1
7.txt - 2

Задачу описывают таким образом: Якобы мы поехали в отпуск и наделали настолько много фото, что номера файлов стали перезаписываться с самого начала. И теперь фото с отпуска в России лежат рядом с фото прошлого отпуска в Америке.

Необходимо чтобы было текстовые файлы с содержимым отображались вот так
содержимое в папке - содержимое в файле
1.txt - 0
2.txt - 1
3.txt - 2
4.txt - 6
5.txt - 7
6.txt - 8
7.txt - 9

Пытался что то сообразить с помощью Windows PowerShell ISE

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cd C:\Users\Пользователь\Desktop\task
Write-Output "Begin"
 
$files = get-ChildItem "C:\Users\Пользователь\Desktop\task"
 
 
for ($i=3; $i -lt $files.Count; $i++) {
    if ($i -ge $files.Count){
       
        Rename-Item -Path $files[$i] -NewName {$_.Name -replace $files[$i + 1], 'A.txt'} 
        
         
    }
   
}
Write-Output "End"
Но как вы уже поняли, раз вы это читаете ничего не вышло. Буду признателен за помощь
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2020, 22:21
Ответы с готовыми решениями:

Изменение цвета названия файлов в Windows XP SP3
Вообщем при скачивании файлов из инета в папку а потом при перетаскивании их на рабочий стол и обратно в папку меняется цвет названия файла...

Изменение, добавление дат в названия файлов по списку (бат)
Здраствуйте. Есть небольшая проблемка. Имеются файлы exсel по 30-31 штуке на месяц. у каждого название файл файл (1) файл (2) ...

Запретить изменение названия программы или возврат названия
Создал программу, при закрытии которой она удаляется. Но... если сменить название программы пока она запущена, она естественно не...

36
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
11.03.2020, 12:17
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от YuS_2 Посмотреть сообщение
Носитель не имеет значения.
имеет значение дата создания, а на носителе она верная.

Цитата Сообщение от YuS_2 Посмотреть сообщение
Описание не мое.
теперь увидел, я думал это пишет автор темы.
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
11.03.2020, 12:40
Цитата Сообщение от belalugoci Посмотреть сообщение
имеет значение дата создания, а на носителе она верная.
В условиях было:
Цитата Сообщение от growhack Посмотреть сообщение
Вернувшись домой, вы «скинули» снимки с
путешествия в отдельную папку
Даже если эти действия производились на исходном носителе, то дата создания уже не будет фактической, в отличии от даты изменения.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
11.03.2020, 13:00
Цитата Сообщение от YuS_2 Посмотреть сообщение
Даже если эти действия производились на исходном носителе, то дата создания уже не будет фактической, в отличии от даты изменения.
вы тролль или принципиально меня не читали но поспешили ответ дать?
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
11.03.2020, 13:32
Цитата Сообщение от belalugoci Посмотреть сообщение
вы тролль
Ты больной совсем что ли?
Сам начал комментировать мои сообщения, при этом не понимает того, что я не ТС, про содержание уже не говорю, явно прочитано по диагонали, а меня троллем называет.
Шарик, ты балбес...
Ещё раз, для не очень логичных:
Цитата Сообщение от YuS_2 Посмотреть сообщение
Следовать надо исключительно входным данным, то бишь условию задачи.
Всё остальное - твои личные переживания и ни к чему их вываливать на публику.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
11.03.2020, 13:37
Цитата Сообщение от YuS_2 Посмотреть сообщение
Всё остальное - твои личные переживания и ни к чему их вываливать на публику.
это лишь ваше мнение, в моих темах местные гуру всё время пытались решить мои задачи с моими условиями так как они считали "лучше", и объясняли это. Так что...

Цитата Сообщение от YuS_2 Посмотреть сообщение
Ты больной совсем что ли?
Нет, я просто пишу одно а вы отвечаете совсем другое.
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
11.03.2020, 13:55
Цитата Сообщение от belalugoci Посмотреть сообщение
это лишь ваше мнение
Это мое мнение относительно данного топика, как минимум.

Цитата Сообщение от belalugoci Посмотреть сообщение
в моих темах местные гуру всё время пытались решить мои задачи с моими условиями так как они считали "лучше", и объясняли это. Так что...
Задачи могут быть разными... если существует реальная задача, а не из учебника, или из домашней работы студента, то вполне возможно, что существуют разные способы её решения.
Если в задаче есть жесткие рамки, то их следует соблюдать.
В общем, не хочется обсуждать сферических коней в вакууме... в каждом конкретном случае, могут быть нюансы.

Цитата Сообщение от belalugoci Посмотреть сообщение
Нет, я просто пишу одно а вы отвечаете совсем другое.
Позвольте полюбопытствовать, а зачем вы пишете? И сами задумайтесь, что именно вы пишете в рамках топика...
Я дал ответ ТС-у, строго по условиям его задачи (задача явно для студентов), причем по полным условиям, которые опубликованы были не сразу...
На ваши сентенции ответил один раз, заметив лишь только то, что здесь не обсуждаются возможности бытовой электроники, а решают задачи для powershell.
Итого:
Если в задаче есть условия, то их следует учитывать при публикации решения. Если условия неполные или невыполнимые - не пишите ничего. Зачем флеймить?
Что здесь нелогичного? Кто кого троллит?
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
11.03.2020, 14:05

Не по теме:


YuS_2, похоже в этом разделе адекватных людей не осталось совсем)


пытались решить мои задачи с моими условиями так как они считали "лучше"
Что вы вкладываете в понятие лучше?
Быстрее работает? или более красиво выглядит? может быть универсальность или изящность?

Вон товарищ в этой теме вообще долбит все в одну строку и считает это лучшей практикой, хотя это отнюдь не так.
https://docs.microsoft.com/ru-... style-code
0
11.03.2020, 14:47

Не по теме:

Цитата Сообщение от v_svitere Посмотреть сообщение
похоже в этом разделе адекватных людей не осталось совсем
Ну, люди-то в основном адекватные, но, увы, то, что нервные какие-то все, это есть... чуть что, слово не так написано оказалось, сразу какахами норовят покидать. Это да, есть немного. :)
Каким-то злым, стал народ...

Цитата Сообщение от v_svitere Посмотреть сообщение
вообще долбит все в одну строку
Одна строка, это ещё не беда, главное чтобы функцию свою выполнял код...
А стили ... стили и комментарии они больше для коллективного труда требуются или, как минимум сложного кода, не на одну страницу написанного.
Да, кстати, по ссылке твоей, рекомендации для написания понятных примеров в руководстве, что просто жизненно необходимо. Иначе это не руководство будет, а каша из разных стилей написания кода... имхо. Для коротких примеров, такого строго стиля не требуется, опять таки имхо...

0
㊙️
 Аватар для Fors1k
1316 / 244 / 57
Регистрация: 10.08.2018
Сообщений: 574
11.03.2020, 15:02
Цитата Сообщение от YuS_2 Посмотреть сообщение
При копировании файла эта дата изменяется...
Точно. Тогда время изменения правильнее.

Не по теме:

Цитата Сообщение от YuS_2 Посмотреть сообщение
(задача явно для студентов)
Согласен. При чем вообще тут "замена камеры", если это просто условие из учебника?)) Очень странный завязался у вас спор)
Цитата Сообщение от YuS_2 Посмотреть сообщение
увы, то, что нервные какие-то
Это да, присутствует здесь...
Цитата Сообщение от YuS_2 Посмотреть сообщение
Одна строка, это ещё не беда, главное чтобы функцию свою выполнял код...
А стили ... стили и комментарии они больше для коллективного труда требуются или, как минимум сложного кода, не на одну страницу написанного.
Да, кстати, по ссылке твоей, рекомендации для написания понятных примеров в руководстве, что просто жизненно необходимо. Иначе это не руководство будет, а каша из разных стилей написания кода... имхо. Для коротких примеров, такого строго стиля не требуется, опять таки имхо...
Благодарю за здравые мысли, но сейчас вам сообщат о том, что вы далёкий от написания кода человек, и пожелают успехов в огородных делах))

0
11.03.2020, 15:35

Не по теме:

Цитата Сообщение от Averson Посмотреть сообщение
но сейчас вам сообщат о том, что вы далёкий от написания кода человек, и пожелают успехов в огородных делах
Вряд ли, этот человек наиболее спокойный из всех нас, здесь присутствующих...
У вас "конфликт" возник почти на ровном месте... видимо, звезды не так выстроились в тот день. :)

0
11.03.2020, 16:05

Не по теме:

Averson

Благодарю за здравые мысли, но сейчас вам сообщат о том, что вы далёкий от написания кода человек, и пожелают успехов в огородных делах)
YuS_2, обычно аргументирует свои посты и рассуждает логически, что для этого форума редкость)

0
11.03.2020, 19:12

Не по теме:

Цитата Сообщение от YuS_2 Посмотреть сообщение
Вряд ли, этот человек наиболее спокойный из всех нас, здесь присутствующих...
Полагаю это был сарказм)
Но, на всякий случай напомню:

Максимально спокойное поведение:
Цитата Сообщение от v_svitere Посмотреть сообщение
Да как же я посмел посягнуть на "изящность" вашего кода...
:facepalm:
Цитата Сообщение от v_svitere Посмотреть сообщение
Вы просто далёкий от написания кода человек, видимо. Поэтому применяете термин - лаконичный, не к логике кода
%-)
Цитата Сообщение от v_svitere Посмотреть сообщение
успехов вам, в ваших огородных делах)
И, назвать человека неадекватным за то, что тот оформляет свой код не так, как нравится ему - это несомненно верх пацифизма!:rofl:
Цитата Сообщение от v_svitere Посмотреть сообщение
похоже в этом разделе адекватных людей не осталось совсем
Вон товарищ в этой теме вообще долбит все в одну строку

Цитата Сообщение от v_svitere Посмотреть сообщение
YuS_2, обычно аргументирует свои посты и рассуждает логически
Я пытался аргументировать посты ссылками на энциклопедии, где объясняется толкование слова лаконичность. Вам пытались другие люди объяснить, что лаконичность и "в Африке лаконичность". Вам YuS_2 попытался объяснить, что для "3 + 2" не требуется строгого, объемистого стиля оформления, а документирование каждой буквы требуется для коллективного труда или написании сложного кода.
Осознав все это(бесполезность пытаться доказать даже очевидное), я решил оставить попытки дискутировать с вами, но, я так понимаю, доставать меня вы собрались вечно?

0
11.03.2020, 20:19

Не по теме:

Цитата Сообщение от Averson Посмотреть сообщение
Полагаю это был сарказм
нет, не сарказм. Не видел здесь на форуме, чтобы случались конфликтные ситуации у него... в отличие от многих других. Как и у меня самого, тоже они были...

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

0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
11.03.2020, 21:14
Averson, а я думал вы просто вняли моим сообщениям и задумались над улучшением своего стиля написания кода)
А если серьезно, вы не воспринимаете конструктивную критику.
Зачем-то придрались к слову "лаконичный", отсылая меня к энциклопедиям. Поверьте я прекрасно знаю, что оно значит.
Если вы самостоятельно не можете понять, что я имел ввиду, давайте я вам поясню, мне не сложно)
Алгоритм это — совокупность минимально возможного количества, максимально простых элементов, на каждом уровне абстракции этого алгоритма.

Т.е. писать код с использованием как можно более простых и понятных остальным конструкций и при этом стараться сделать его как можно более компактным — умешьшить кол-во строк, простым языком. Это в общем можно назвать словом — лаконичность.
Не знаю, по какому принципу ваш код подходит под данное понятие, но мой подходит точно.
И я не понимаю зачем мне, кто-то, что-то пытается объяснить (я не понял кто и что, ну да ладно) ? На это у меня есть документация, если мне что-то непонятно я обращаюсь к ней.
И да, я считаю и буду считать, что даже самые ничтожные сценарии нужно оформлять и документировать, это реально облегчает работу в последствии. Да даже самый примитивный алгоритм можно потом использовать в более глобальном решении. Из маленьких сценариев собирать проект, с уже готовым оформлением и описанием.
Очень жаль, что вам это непонятно. Успехов вам.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
12.03.2020, 12:54
Цитата Сообщение от v_svitere Посмотреть сообщение
Т.е. писать код с использованием как можно более простых и понятных остальным конструкций и при этом стараться сделать его как можно более компактным — умешьшить кол-во строк
у меня вопросы:
1) до какого уровня простоты и понятности нужно расписать код, чтобы оставаться ему лаконичным?
2) как определить понятно ли остальным то что написано?
3) до какой степени нужно нажимать на компактность?
4) почему число строк превалирует над простотой и понятностью?

Вот ваш код:
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
##### ПУТЬ ДО ДИРЕКТОРИИ С ФАЙЛАМИ
$my_path = "E:\temp\task"
 
##### ПОЛУЧИМ КОЛЛЕКЦИЯ КАСТОМНЫХ ОБЪЕКТОВ
$my_collection = (gci $my_path -file) | select fullname, @{Name = 'Content'; Expression = {[int](gc $_.fullname)}}, extension | sort content 
 
##### ТЕПЕРЬ ПЕРЕИМЕНУЕМ СОГЛАСНО ИНДЕКСАЦИИ В ТЕМП-ФАЙЛЫ
foreach($my_element in $my_collection)
{
    $source = $my_element.fullname
    $destination = "tmp" + [string]([array]::indexof($my_collection,$my_element) + 1) + $my_element.extension
    move-item -path $source -destination $(join-path $my_path $destination) -force
}
 
##### ТЕПЕРЬ ПЕРЕИМЕНУЕМ ТЕМП-ФАЙЛЫ
gci $my_path -file | %{move-item -path $_.fullname -destination $($_.fullname.replace("tmp","")) -force}
это код Averson:
PowerShell
1
2
3
4
5
6
7
param(
    $path="C:\Users\Пользователь\Desktop\task"
)cls
 
gci $path -file|%{ren $_.fullname a$_};gci $path -file|sort {gc $_.fullname}|%{ren $_.fullname $([string]++$i+$_.extension)}
 
"РЕЗУЛЬТАТ: ";gci $path -file|% {$_.name+" - "+(gc $_.fullname)}
в чем лаконичность вашего же кода если он не соответствует вашему же описанию? я вижу разные подходы к реализации, размеры строки с gci у вас практически одинаковые, а в коде у вас не просто больше строк, у вас еще и лишние операции.
1
59 / 17 / 3
Регистрация: 29.11.2015
Сообщений: 100
02.02.2022, 10:42
приветствую.
новую тему создавать не буду - у меня вообще не работает rename-item - пишет что файл не существует.
PowerShell
1
REN "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Defender Switch ON.lnk" "Defender Switch ON"
а в cmd.exe всё работает
Code
1
RENAME "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Defender Switch ON.lnk" "Defender Switch ON"
Миниатюры
Изменение названия файлов в PowerShell  
0
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 706
02.02.2022, 11:25
Цитата Сообщение от geepnozeex Посмотреть сообщение
%ProgramData%
$Env:ProgramData
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.02.2022, 11:25

Сортировка большого количества файлов по папкам, созданным по части названия файлов
Здравствуйте, уважаемые! Сразу к делу. Имеется папка, в ней уже более 500.000 файлов, и с каждым днем все больше на 3-4 тысячи....

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

При копировании файлов с bash скрипта в конце названия файлов добавляется какой-то символ
Есть bash скрипт копирования логов в друггую папку по cron. #!/bin/bash sudo cp /var/log/apache2/domains/domain.ru.log...

PowerShell изменение параметров локальной групповой политики
Добрый день! Не могу найти инфу по коммандлетам типа Set-GPRegistryValue. Нужно с помощью PS изменить некоторые параметры в ветке...

Изменение типа (расположения) сети используя PowerShell
Добрый день! Естественно я далёк от PowerShell))) Уважаемые знатоки, подскажите как изменить тип сети. В интернете находятся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru