Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как фасовать папки при помощи bat или vbs?

Ответить
Настройки темы
CMD/BAT - Как фасовать папки при помощи bat или vbs?

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет!
Есть пустые папки с номерами типа:
23452
45487
23455
65434
И есть папки практически с такими же названиями только в начале или в конце пишутся латинские буквы:
23452F
45487B
23455F1
65434B2
Как эти папки перенести по номерам в пустые папки например папку 23452F перенести в пустую папку 23452 при помощи bat файла?

Спасибо!

Отправлено: 13:20, 28-11-2022

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


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}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:05, 28-11-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо сработало, а как можно сделать что бы можно было задавать эти папки при условии того что папки в разных каталогах

Отправлено: 11:06, 29-11-2022 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$fRest = dir "C:\temp\from" -directory
$fNumOnly = dir "C:\temp\to" -directory

$fNumOnly |% {
$fRest |? name -match $_.name |mv -Destination $_.fullname -WhatIf
}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:32, 29-11-2022 | #4


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте, подскажите как этот код сделать для фасовки pdf. Заранее спасибо!

Отправлено: 11:47, 23-12-2022 | #5


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Объясните так, чтобы это было понятно человеку, не умеющему читать мысли.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 12:53, 23-12-2022 | #6


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть пустые папки с номерами типа:
23452
45487
23455
65434
И есть PDF файлы практически с такими же названиями только в начале или в конце пишутся латинские буквы:
23452F.pdf
45487B.pdf
23455F1.pdf
65434B2.pdf
Как эти PDF перенести по номерам в пустые папки например PDF 23452F1.pdf перенести в пустую папку 23452

Отправлено: 13:53, 23-12-2022 | #7


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Где находятся папки и файлы pdf, какова иерархия их расположения?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 17:46, 23-12-2022 | #8


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Где находятся папки и файлы pdf, какова иерархия их расположения?
Они пдф лежат просто в одной папке под названием files с примерно такими номерами:
3452F.pdf
45487B.pdf
23455F1.pdf
65434B2.pdf

Отправлено: 19:02, 24-12-2022 | #9


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Ну, положим.

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}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 15:02, 25-12-2022 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как фасовать папки при помощи bat или vbs?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Перепаковка MSI при помощи WiMakCab.vbs m0nkrus Скриптовые языки администрирования Windows 10 05-04-2020 09:18
Доступ - Скрипт запуска от имени другого пользователя, bat или vbs Farnax Microsoft Windows 7 22 21-09-2017 05:54
Любой язык - Написать на bat или vbs собирателя любого текста вводимого с клавиатуры THEDOGG Скриптовые языки администрирования Windows 3 10-06-2014 22:20
CMD/BAT - [решено] Как в реестре создать раздел при помощи .bat charon Скриптовые языки администрирования Windows 3 27-02-2012 17:24
CMD/BAT - [решено] как перенаправить на другой сайт при помощи bat файла user171078 Скриптовые языки администрирования Windows 1 19-01-2010 08:19




 
Переход