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

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

28.07.2015, 16:22. Показов 2545. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru