У меня есть список из 200 имен файлов. Мне нужно найти эти файлы, которые находятся в разных подпапках, по имени файла и скопировать их в одну отдельную папку. Я использую Windows 7. Как я могу это сделать?
Спасибо Наталья
У меня есть список из 200 имен файлов. Мне нужно найти эти файлы, которые находятся в разных подпапках, по имени файла и скопировать их в одну отдельную папку. Я использую Windows 7. Как я могу это сделать?
Спасибо Наталья
Я предлагаю пойти на Ninite.com и загрузить бесплатный инструмент под названием "Все". это простой инструмент поиска Windows. После установки дайте ему 5 минут или около того, чтобы проиндексировать ваши файлы.
В поле поиска введите поисковый запрос, и вы получите мгновенные результаты, как в Google. После просмотра результатов вы можете манипулировать файлами непосредственно в окне поиска «Все», как, например, в проводнике Windows. Вы можете «выбрать все», а затем скопировать их, а затем в Win Explorer перейдите в нужную папку и вставьте их.
Все действительно хороший инструмент. Вам даже не нужно вводить полное имя файла, только его часть, например, «eag mp3» вернет все MP3 с «eag» в имени файла, например, «eagles - song name.mp3»
Ну вот. Сделайте пробный ход первым. Внимательно читайте комментарии.
Файл fullfilenames.txt будет сохранен, поэтому у вас будет запись каждого найденного файла. Если вам нужно выполнить это более одного раза и хотите сохранить файл, переместите или переименуйте его.
Будет создан файл журнала 'movelog.txt'. Как указано выше, переместите или переименуйте его, если хотите сохранить его после каждого запуска.
# Set your search directory and destination directory
$destdir = "[destination for files]"
$searchdir = "[top dir of search path]"
# Create empty file to contain the full path info for each file
echo $null > fullfilenames.txt
# Create array from your list of filenames
$filenames = Get-Content filenames.txt
# For each file in array of filenames get fullpath and assign var $fullname
foreach ($file in $filenames) {
$fullname = Get-ChildItem $searchdir | Where-Object {$_.PSIsContainer -eq $False -and ($_.Name) -eq $file} | ForEach-Object {$_.FullName}
# Add full path of file to fullfilenames.txt
echo $fullname >> fullfilenames.txt
# Uncomment next two lines for troubleshooting & dry run
#echo $file
#Write-Host $fullname
}
# Create array from new list of files with full path info and then move each file to destination.
# For troubleshooting & dry run, comment out following two lines.
$filenames = Get-Content fullfilenames.txt
echo $null > movelog.txt
foreach ( $file in $filenames ) {
Move-Item $file $destdir
# Log success/fail of each move
echo "$(Get-Date -f o) $? $file" >> movelog.txt
}
Примечание. Это скрипт powershell. Сохраните его как what.ps1 и запустите в консоли PowerShell.
наслаждаться