С Новым годом! Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
22 / 18 / 4
Регистрация: 28.07.2015
Сообщений: 167

Копирование файлов с присвоением копиям имени папки назначения и порядкового номера

28.07.2015, 16:22. Показов 2491. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,
Нужно из папки скопировать все файлы в 2 другие папки, с переименованием файлов в конечных папках, по имени папки.
Попробую объяснить на примере. Допустим есть папка Test, из нее нужно все скопировать в папку Masha и Olya,
после копирования в папке Masha должны быть файлы Masha1, Masha2, Masha3 и т.д. а в папке Olya - Olya1, Olya2, Olya3 и т.д.
Затык у меня в двух местах.

1. Никак не получается корректно прописать Foreach + rename. (тут я обычно теряю расширение файлов)
2. Не пойму как достать Имя папки. (изначально у меня будет переменная, которая задается ручками при запуске файла - в этой переменной у меня будет путь (C:\Masha - например).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.07.2015, 16:22
Ответы с готовыми решениями:

Копирование папки с файлами с присвоением даты в качестве имени
Помогите написать код... мне надо скопировать папку и назвать ее той датой, которой ее копировали

Sql группировка по условию, с присвоением порядкового номера
Здравствуйте Пытаюсь выполнить одновременную группировку по наименнованию и атрибутам, с присвоением одинакового порядкового номер к...

Копирование: Ввод имени папки и копирование из нее файлов
Доброго времени суток! Реально ли реализовать подобное с помощью bat ? Знаю, что можно создать папку с именем, которое можно задать. ...

3
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
28.07.2015, 18:37
MGarry, Наверно здесь лучше функцию написать. Написал на коленке, можно доделать для себя
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$basic_path="C:\scripts"#Откуда копируем
$Path_to_copy1="C:\мой диск\test1" #Куда копируем
$Path_to_copy2="C:\мой диск\test2" #Куда копируем
$name_copy_folder1=$Path_to_copy1.split("")
$name_copy_folder1=$name_copy_folder1[$name_copy_folder.length -1]#Имя для файла-копии в первой директории
$name_copy_folder2=$Path_to_copy2.split("")
$name_copy_folder2=$name_copy_folder2[$name_copy_folder.length -1]#Имя для файла-копии во второй директории
 
 
 
 
 
$i=0; #Счетчик
$j=0; #Счетчик
 
$spisok_failov=(gci $basic_path|where{$_.Mode -ne "d----"}) #Берем только файлы, не директории
$spisok_failov|%{$i=$i+1;$ext=$_.extension;cp $_.fullname -destination $Path_to_copy1;
Rename-Item $Path_to_copy1"\$_" $Path_to_copy1"\"$name_copy_folder1$i$ext
}
 
$spisok_failov=(gci $basic_path|where{$_.Mode -ne "d----"}) #Берем только файлы, не директории
$spisok_failov|%{$j=$j+1;$ext=$_.extension;cp $_.fullname -destination $Path_to_copy2;
Rename-Item $Path_to_copy2"\$_" $Path_to_copy2"\"$name_copy_folder2$j$ext
}
0
22 / 18 / 4
Регистрация: 28.07.2015
Сообщений: 167
29.07.2015, 07:25  [ТС]
Спасибо большое!

Можешь только уточнить 1 момент

PowerShell
18
Rename-Item $Path_to_copy1"\$_" $Path_to_copy1"\"$name_copy_folder1$i$ext
В этой строчке непонятны 2 вещи "\$_" и "\" Что они делают?
Остальное все переварилось успешно.
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
29.07.2015, 10:25
MGarry,
Цитата Сообщение от MGarry Посмотреть сообщение
PowerShell
18
Rename-Item $Path_to_copy1"\$_" $Path_to_copy1"\"$name_copy_folder1$i$ext
в Rename-Item используются 2 параметра: 1-ый полный путь к файлу, который будем переименовывать, 2-ой новое имя файла.
$_ объект переданный по конвееру, в данном случае нам нужно получить имя файла, хотя правильнее было бы здесь написать $_.name
Я поправил бы вот так:
PowerShell
18
Rename-Item $Path_to_copy1""$_.name $Path_to_copy1"\"$name_copy_folder1$i$ext
И назначение "\" становится очевидно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2015, 10:25
Помогаю со студенческими работами здесь

Копирование папки с использованием команды XCOPY с заменой одноимённых файлов в папке назначения
Всем привет как сделать написать бат который копировал бы папки с заменой файлов внутри папки я написал так и добавил в планировщик...

Запись щелчков мыши в очередь и отображение этих координат с присвоением порядкового номера
Доброго дня всем. Я, конечно, понимаю, что мало кто любит разбираться в чужом коде, но может кто поможет) Суть программы заключается...

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

Копирование папки файла, переменная в качестве назначения
Приветствую всех. Возникло затруднение, точнее не получается нагуглить, в каком виде нужно дописать. Скрипт curPath =...

Копирование TXT-файлов из одной папки и BMP-файлов из другой папки в папку, в которой находится пакетный файл
Доброго времени суток. У кого есть возможность сообразить какой код мне нужет чтобы сделать вот это) - Копирование всех файлов с...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru