Показать полную графическую версию : Как фасовать папки при помощи bat или vbs?
Всем привет!
Есть пустые папки с номерами типа:
23452
45487
23455
65434
И есть папки практически с такими же названиями только в начале или в конце пишутся латинские буквы:
23452F
45487B
23455F1
65434B2
Как эти папки перенести по номерам в пустые папки например папку 23452F перенести в пустую папку 23452 при помощи bat файла?
Спасибо!
DJ Mogarych
28-11-2022, 21:05
Powershell v5
$folder = "C:\temp\random"
$fNumOnly,$fRest = (dir $folder -Directory).where({$_.name -notmatch "\D"}, 'Split')
$fNumOnly |% {
$fRest |? name -match $_.name |mv -Destination $_.fullname -WhatIf
}
Предполагается, что папки лежат рядом, так как ничего на этот счёт не было сказано.
Чтобы реально переносило, уберите -WhatIf.
@("23452"
"45487"
"23455"
"65434"
"23452F"
"DEG23452"
"45487B"
"23455F1"
"65434B2"
"62434B2") |% {mkdir "C:\temp\random\$_" -ErrorAction SilentlyContinue > $null}
Спасибо сработало, а как можно сделать что бы можно было задавать эти папки при условии того что папки в разных каталогах
DJ Mogarych
29-11-2022, 11:32
$fRest = dir "C:\temp\from" -directory
$fNumOnly = dir "C:\temp\to" -directory
$fNumOnly |% {
$fRest |? name -match $_.name |mv -Destination $_.fullname -WhatIf
}
Здравствуйте, подскажите как этот код сделать для фасовки pdf. Заранее спасибо!
DJ Mogarych
23-12-2022, 12:53
Объясните так, чтобы это было понятно человеку, не умеющему читать мысли.
Есть пустые папки с номерами типа:
23452
45487
23455
65434
И есть PDF файлы практически с такими же названиями только в начале или в конце пишутся латинские буквы:
23452F.pdf
45487B.pdf
23455F1.pdf
65434B2.pdf
Как эти PDF перенести по номерам в пустые папки например PDF 23452F1.pdf перенести в пустую папку 23452
DJ Mogarych
23-12-2022, 17:46
Где находятся папки и файлы pdf, какова иерархия их расположения?
Где находятся папки и файлы pdf, какова иерархия их расположения?
Они пдф лежат просто в одной папке под названием files с примерно такими номерами:
3452F.pdf
45487B.pdf
23455F1.pdf
65434B2.pdf
DJ Mogarych
25-12-2022, 15:02
Ну, положим.
Powershell
$pdfs = dir "C:\temp\from\*.pdf"
$folders = dir "C:\temp\to" -directory
$folders |% {
$pdfs |? name -match $_.name |mv -Destination $_.fullname
}
@("23452"
"45487"
"23455"
"65434"
) |% {mkdir "C:\temp\to\$_" -ErrorAction SilentlyContinue > $null}
@("23452F"
"DEG23452"
"45487B"
"23455F1"
"65434B2"
"62434B2"
) |% {New-Item "C:\temp\from\$_.pdf" -ErrorAction SilentlyContinue > $null}
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.