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

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

Ответить
Настройки темы
CMD/BAT - [решено] Перемещение файлов из каталога в каталог

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


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

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


Добрый день. Сегодня с толкнулся с такой проблемой и пока ответа не нашел.
Есть каталог например: C:\Transport\PRISHLO сюда приходит папка с вложенными файлами .xml , нужно написать .bat который бы открывал папку, брал файлы .xml и отправлял бы в папку C:\Transport\USHLO
При чем папки, которые приходят в каталог C:\Transport\PRISHLO имеют разные имена, например может придти папка 123456, а может 567890
Понятия не имею как это записать, очень прошу помощи в этом вопросе!

Отправлено: 12:25, 15-01-2020

 

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


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

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


все просто если ваш батник будет запускать скрипт повершел такого содержания

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
}

Отправлено: 12:35, 15-01-2020 | #2



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

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


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


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

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


а нельзя это сделать в .bat? До повершел я еще не додумался

Отправлено: 12:45, 15-01-2020 | #3


Ветеран


Contributor


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

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


Цитата servad:
нужно написать .bat который бы открывал папку, брал файлы .xml и отправлял бы в папку C:\Transport\USHLO »
Как понять? Что происходит с файлом? Он копируется в каталог C:\Transport\USHLO или перемещается (то есть на старом месте его больше не будет)? Копируется именно файл, а не каталог с файлом?
Что при этом должно произойти с папкой 123456, а может 567890? После обработки файла она останется, или её надо удалить?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

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

Отправлено: 12:48, 15-01-2020 | #4


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


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

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


Цитата megaloman:
Как понять? Что происходит с файлом? Он копируется в каталог C:\Transport\USHLO или перемещается (то есть на старом месте его больше не будет)? Копируется именно файл, а не каталог с файлом?
Что при этом должно произойти с папкой 123456, а может 567890? После обработки файла она останется, или её надо удалить? »
в каталог C:\Transport\PRISHLO прилетает папка, допустим 123456, в ней находлятся файлы .xml, вот эти файлы .xml надо брать из папки 123456 и переносить в C:\Transport\USHLO. Папку 123456 из C:\Transport\PRISHLO удалить
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:53, 15-01-2020 | #5


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


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

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


Цитата 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? До повершел я еще не додумался

Отправлено: 13:22, 15-01-2020 | #6


Ветеран


Contributor


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

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


Код: Выделить весь код
@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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

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

Отправлено: 13:50, 15-01-2020 | #7


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


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

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


Цитата 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 так там и осталась

Отправлено: 14:03, 15-01-2020 | #8


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


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

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


Цитата 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 так там и осталась »
Прошу прощения, это я криворукий)

Отправлено: 14:27, 15-01-2020 | #9


Аватара для velmyshanovnyi

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


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

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


Цитата 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% ))

Отправлено: 03:50, 30-01-2020 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Скопировать файл из текущего каталога в каталог уровнем выше adrin Скриптовые языки администрирования Windows 2 22-12-2015 17:52
CMD/BAT - Перемещение файлов в каталог из подкаталога с удалением подкаталогов Rema Скриптовые языки администрирования Windows 5 30-11-2014 18:23
CMD/BAT - перемещение файлов в каталог созданный из части имени файла surrender1 Скриптовые языки администрирования Windows 9 10-10-2013 14:42
Любой язык - Сравнение списка файлов и каталога с файлами с копированием файлов из каталога jastreb83 Скриптовые языки администрирования Windows 0 10-04-2013 09:56
CMD/BAT - [решено] Поиск файлов и перемещение каталога djvall Скриптовые языки администрирования Windows 3 04-02-2011 09:32




 
Переход