Перемещение файлов из каталога в каталог
Добрый день. Сегодня с толкнулся с такой проблемой и пока ответа не нашел.
Есть каталог например: C:\Transport\PRISHLO сюда приходит папка с вложенными файлами .xml , нужно написать .bat который бы открывал папку, брал файлы .xml и отправлял бы в папку C:\Transport\USHLO
При чем папки, которые приходят в каталог C:\Transport\PRISHLO имеют разные имена, например может придти папка 123456, а может 567890
Понятия не имею как это записать, очень прошу помощи в этом вопросе!
|
все просто если ваш батник будет запускать скрипт повершел такого содержания
param(
$PathPRISHLO = 'C:\Transport\PRISHLO',
$PathUSHLO = 'C:\Transport\USHLO'
)
Get-ChildItem $PathPRISHLO -Directory |
ForEach-Object {
Move-Item -Path "$($_.FullName)\*.xml" -Destination $PathUSHLO -WhatIf
Remove-Item $_.FullName -WhatIf
}
|
а нельзя это сделать в .bat? До повершел я еще не додумался
|
Цитата:
Цитата servad
нужно написать .bat который бы открывал папку, брал файлы .xml и отправлял бы в папку C:\Transport\USHLO »
|
Как понять? Что происходит с файлом? Он копируется в каталог C:\Transport\USHLO или перемещается (то есть на старом месте его больше не будет)? Копируется именно файл, а не каталог с файлом?
Что при этом должно произойти с папкой 123456, а может 567890? После обработки файла она останется, или её надо удалить?
|
Цитата:
Цитата megaloman
Как понять? Что происходит с файлом? Он копируется в каталог C:\Transport\USHLO или перемещается (то есть на старом месте его больше не будет)? Копируется именно файл, а не каталог с файлом?
Что при этом должно произойти с папкой 123456, а может 567890? После обработки файла она останется, или её надо удалить? »
|
в каталог C:\Transport\PRISHLO прилетает папка, допустим 123456, в ней находлятся файлы .xml, вот эти файлы .xml надо брать из папки 123456 и переносить в C:\Transport\USHLO. Папку 123456 из C:\Transport\PRISHLO удалить
|
Цитата:
Цитата alhaos
все просто если ваш батник будет запускать скрипт повершел такого содержания
param(
$PathPRISHLO = 'C:\Transport\PRISHLO',
$PathUSHLO = 'C:\Transport\USHLO'
)
Get-ChildItem $PathPRISHLO -Directory |
ForEach-Object {
Move-Item -Path "$($_.FullName)\*.xml" -Destination $PathUSHLO -WhatIf
Remove-Item $_.FullName -WhatIf
} »
|
а нельзя это сделать в .bat? До повершел я еще не додумался
|
Код:
@Echo Off
Set "BoxIn=C:\Transport\PRISHLO"
Set "BoxOut=C:\Transport\USHLO"
Set "Mask=*.xml"
FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%BoxIn%" /B /A:D`) Do (
If Exist "%BoxIn%\%%d\%Mask%" (
>nul Move /Y "%BoxIn%\%%d\%Mask%" "%BoxOut%\" && Rd "%BoxIn%\%%d" /S /Q
)
)
Exit /B
|
Цитата:
Цитата megaloman
@Echo Off
Set "BoxIn=C:\Transport\PRISHLO"
Set "BoxOut=C:\Transport\USHLO"
Set "Mask=*.xml"
FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%BoxIn%" /B /A:D`) Do (
If Exist "%BoxIn%\%%d\%Mask%" (
>nul Move /Y "%BoxIn%\%%d\%Mask%" "%BoxOut%\" && Rd "%BoxIn%\%%d" /S /Q
)
)
Exit /B »
|
ничего не происходит. папка с файлами как была в C:\Transport\PRISHLO так там и осталась
|
Цитата:
Цитата servad
@Echo Off
Set "BoxIn=C:\Transport\PRISHLO"
Set "BoxOut=C:\Transport\USHLO"
Set "Mask=*.xml"
FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%BoxIn%" /B /A:D`) Do (
If Exist "%BoxIn%\%%d\%Mask%" (
>nul Move /Y "%BoxIn%\%%d\%Mask%" "%BoxOut%\" && Rd "%BoxIn%\%%d" /S /Q
)
)
Exit /B »
ничего не происходит. папка с файлами как была в C:\Transport\PRISHLO так там и осталась »
|
Прошу прощения, это я криворукий)
|
velmyshanovnyi |
30-01-2020 03:50 2907571 |
Цитата:
Цитата megaloman
@Echo Off
Set "BoxIn=C:\Transport\PRISHLO"
Set "BoxOut=C:\Transport\USHLO"
Set "Mask=*.xml"
FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%BoxIn%" /B /A:D`) Do (
If Exist "%BoxIn%\%%d\%Mask%" (
>nul Move /Y "%BoxIn%\%%d\%Mask%" "%BoxOut%\" && Rd "%BoxIn%\%%d" /S /Q
)
)
Exit /B »
|
спасибо!
мне тоже помогло - подошло на 100% :)))
|
Время: 01:05.
© OSzone.net 2001-