Войти

Показать полную графическую версию : Перемещение файлов по маске с сохранением структуры папок...


nfs911
07-01-2013, 02:21
Всем привет.
Мне нужно реализовать перемещение файлов по содержанию в них фразе.Этих фраз 100 штук.С сохранением структуры папок.
Выглядит это так.
Папка "X1" с файлами и подкаталогами с файлами.
И текстовый документ с фразами в таком виде
AS123456
AS234865
AS345733
AS334555
AS324557

Файлы содержанием этих цифр должны переместиться в другую папку с сохранением структуры папок.

Как это реализовать на bat и возможно ли это?

zion87
12-01-2013, 21:53
Ничего не понятно!
перемещение файлов по содержанию в них фразе »
какой фразе?
должны переместиться в другую папку »
в какую?

nfs911
27-01-2013, 21:52
zion87, из примера мы можем увидеть что фраза "AS"
другая папка к примеру c:\folderX\

zion87
27-01-2013, 22:37
И текстовый документ с фразами в таком виде
AS123456
AS234865 »

то есть txt с фразами AS переместить в папку

c:\folderX\ »

nfs911
28-01-2013, 05:23
Чтобы было понятней
файлы называются по разному
всё что их объединяет это AS###### (# - цифры)
вот так еще можно изобразить:
*AS#######*.*
то есть txt с фразами AS переместить в папку »
Да.Если делать в ручную то мне надо ввести в поиск AS123456 потом Ctrl+X>Ctrl+V
предварительно создав такую же структуру папок.

gora
28-01-2013, 11:35
@Echo Off
SetLocal EnableDelayedExpansion
:: Путь к обрабатываемой папке
Set Folder=e:\Temp\_1 1
:: Путь к создаваемой папке
Set OutFolder=e:\Temp\folderX

For /F "tokens=* delims=" %%A In ('Dir /S /B /A:-D "%folder%\AS*.txt"') Do (
Set dpath=%%~dpA
Set dpath=!dpath:~0,-1!
Set dpath=%OutFolder%!dpath:%Folder%=!
If Not Exist "!dpath!" MD "!dpath!"
Copy "%%A" "!dpath!\%%~nxA">Nul
)
Pause
Exit

nfs911
15-02-2013, 00:08
gora, а куда прописывать путь к TXT файлу со списком фраз?
Если я правильно понял то ваш скрипт ищет текстовые документы с названием AS*.txt и копирует анолагичные файлы.Надо както с
For /F ............. %%A IN ("%Txt%") Do.....




© OSzone.net 2001-2012