давайте говорить, что мы имеем следующую структуру
- C: \ Temp \ 1 \ musicfile.mp3
- C: \ Temp \ 2 \ goodmusicfile.mp3
- C: \ Temp \ 3 \ verygoodfile.mp3
- C: \ Temp \ любой \ what.mp3
и мы хотим, чтобы скопировать все эти файлы в одну папку в
создать битой файл внутри C: \ Temp \ для примера copyallmp3.bat и написать следующий код
for /R "C:\temp" %%i in (*.mp3) do xcopy "%%i" "C:\temp\all" /y
запустить copyallmp3.bat. Если вы перейдете к c: \ temp \ all, вы увидите все ваши 4 mp3-файла.
Если вы хотите, чтобы конечный результат будет что-то подобное (рекурсивно)
- C: \ TEMP \ все \ 1 \ musicfile.mp3
- C: \ Temp \ все \ 2 \ goodmusicfile.mp3
- C: \ Temp \ все \ 3 \ verygoodfile.mp3
- C: \ Temp \ все \ любой \ what.mp3
использовать следующий код в PowerShell
$Source = 'C:\temp'
$Files = '*.mp3'
$Dest = 'C:\temp\all'
Get-ChildItem $Source -Filter $Files -Recurse | ForEach{
$Path = ($_.DirectoryName + "\") -Replace [Regex]::Escape($Source), $Dest
If(!(Test-Path $Path)){New-Item -ItemType Directory -Path $Path -Force | Out-Null
Copy-Item $_.FullName -Destination $Path -Force
}}
Я рекомендую использовать powershell для этого, он поставляется с предустановленными окнами. – VoidStar
Спасибо. Можете ли вы сообщить мне, что такое синтаксис? – user2941841