Показать полную графическую версию : Батник копирования файлов по маске
Добрый день, стоит задача копировать файлы в папки по датам, к примеру приходит файл в папку 1, вида ixx_xxxxx_x_x_160328.txt - где 160328 (28 марта 2016 года), этот файл следует скопировать в папку вида 280316, если ёё нет, то создать.
Подскажите пожалуйста, как это сделать? У меня есть батник, но он копирует файлы по дате изменения.
megaloman
31-03-2016, 16:31
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set "In=E:\Delete\1"
Set "Out=E:\Delete\Out"
Set "Mask=i??_?????_?_?_??????.txt"
FOR %%f IN ("%In%\%Mask%") DO (
Set "Name=%%~nf"
Set "Dt=!Name:~-6!
rem Если надо иметь наименования папок в формате ГГММДД cледующую строку закомментировать или удалить
Set "Dt=!Dt:~4,2!!Dt:~2,2!!Dt:~0,2!"
If Not Exist "%Out%\!Dt!" Md "%Out%\!Dt!"
Move /Y "%%f" "%Out%\!Dt!\" >nul 2>nul
)
Попробовал, ничего не получилось, видимо из-за строки Set "Mask=i??_?????_?_?_??????.txt"
megaloman
31-03-2016, 20:14
mychman,
приходит файл в папку 1, вида ixx_xxxxx_x_x_160328.txt - что Вы имеете ввиду? Расшифруйте. Приведите пример реального имени. У меня маска отрабатывает. Пути у Вас правильные?
Попробуйте Set "Mask=*.txt"
- что Вы имеете ввиду? Расшифруйте. Приведите пример реального имени. У меня маска отрабатывает. Пути у Вас правильные?
Попробуйте Set "Mask=*.txt" »
пример файла i02_00746_k_d_160220.txt
Пути я прописал немного иные, но это никак не влияет на отработку батника, попробую такую Set "Mask=*.txt"
http://forum.oszone.net/attachment.php?attachmentid=135500&stc=1&d=1459496133Попробовал, не получилось
Скрин с ошибко, прикладываю.
Foreigner
01-04-2016, 10:39
mychman, Вы сначала сохраните в файл с расширением bat или cmd, а потом его запускайте.
Я так и сделал)) Просто результат выполнения кода переслал)
Foreigner
01-04-2016, 11:13
mychman, Не понятно, как под маску i??_?????_?_?_??????.txt попадает .oracle_jre_usageSet
покажите dir /b в директории с файлами.
.oracle_jre
.pdfsam
.PyCharm30
Contacts
Desktop
Documents
Downloads
Favorites
Links
Music
Pictures
Saved Games
Searches
Videos
Windows
Foreigner
01-04-2016, 12:06
mychman, это скорее всего ваша домашняя директория (%userprofile%), какое она имеет отношение к E:\Delete\1 ?
megaloman
01-04-2016, 12:24
mychman, приходит файл в папку 1 Какой у Вас реальный путь? Сделайте Dir "Ваш реальный путь\*.*" Покажите, что получилось. Вложите в Ваше сообщение текст моего батника с Вашими изменениями в путях (переименуйте c расширением .txt для пересылки), то, что запускаете на выполнение. Похоже, Вы неправильно указываете путь, какие-то недопустимые символы в Ваших указанных путях, которые нарушают синтаксис команды For
i02_20494_k_d_160325.txt
i02_20494_k_d_160328.txt
i02_20633_k_d_160301.txt
i02_20633_k_d_160302.txt
i02_20633_k_d_160304.txt
i02_20633_k_d_160315.txt
i02_20633_k_d_160318.txt
i02_20633_k_d_160325.txt
i02_20633_k_d_160328.txt
i02_20672_k_d_160219.txt
i02_20672_k_d_160224.txt
i02_20672_k_d_160225.txt
i02_20672_k_d_160301.txt
i02_20672_k_d_160310.txt
i02_20672_k_d_160311.txt
i02_20672_k_d_160315.txt
i02_20672_k_d_160316.txt
i02_20672_k_d_160317.txt
i02_20672_k_d_160318.txt
i02_20672_k_d_160321.txt
i02_20672_k_d_160323.txt
i02_20672_k_d_160324.txt
i02_20672_k_d_160325.txt
i02_20672_k_d_160328.txt
i02_20672_k_d_160329.txt
i02_21059_v_d_160304_USD.txt
i02_21059_v_d_160307_USD.txt
i02_21059_v_d_160309.txt
i02_21059_v_d_160309_USD.txt
i02_21059_v_d_160315_USD.txt
i02_21059_v_d_160324_USD.txt
i02_21059_v_d_160325_USD.txt
i02_21059_v_d_160328_USD.txt
i02_21059_v_d_160329_USD.txt
i02_21097_k_d_160224.txt
i02_21097_k_d_160226.txt
i02_21097_k_d_160301.txt
i02_21097_k_d_160310.txt
i02_21097_k_d_160315.txt
i02_21097_k_d_160317.txt
i02_21097_k_d_160323.txt
i02_21097_k_d_160324.txt
i02_21097_k_d_160325.txt
i02_21097_k_d_160328.txt
i02_21097_k_d_160329.txt
i02_21382_k_d_160301.txt
i02_21382_k_d_160302.txt
i02_21382_k_d_160304.txt
i02_21382_k_d_160315.txt
i02_21382_k_d_160316.txt
i02_21382_k_d_160318.txt
i02_21382_k_d_160325.txt
i02_21382_k_d_160328.txt
i02_21492_k_d_160219.txt
i02_21492_k_d_160220.txt
i02_21492_k_d_160224.txt
i02_21492_k_d_160225.txt
i02_21492_k_d_160226.txt
i02_21492_k_d_160301.txt
i02_21492_k_d_160302.txt
i02_21492_k_d_160310.txt
i02_21492_k_d_160311.txt
i02_21492_k_d_160315.txt
i02_21492_k_d_160316.txt
i02_21492_k_d_160317.txt
i02_21492_k_d_160318.txt
i02_21492_k_d_160321.txt
i02_21492_k_d_160322.txt
i02_21492_k_d_160323.txt
i02_21492_k_d_160324.txt
i02_21492_k_d_160325.txt
i02_21492_k_d_160328.txt
i02_21492_k_d_160329.txt
i02_21544_k_d_160219.txt
i02_21544_k_d_160220.txt
i02_21544_k_d_160224.txt
i02_21544_k_d_160225.txt
i02_21544_k_d_160226.txt
i02_21544_k_d_160301.txt
i02_21544_k_d_160310.txt
i02_21544_k_d_160315.txt
i02_21544_k_d_160317.txt
i02_21544_k_d_160321.txt
i02_21544_k_d_160325.txt
i02_21544_k_d_160328.txt
i02_21544_k_d_160329.txt
i02_21672_k_d_160220.txt
i02_21672_k_d_160224.txt
i02_21672_k_d_160226.txt
i02_21672_k_d_160301.txt
i02_21672_k_d_160302.txt
i02_21672_k_d_160315.txt
i02_21672_k_d_160316.txt
i02_21672_k_d_160317.txt
i02_21672_k_d_160318.txt
i02_21672_k_d_160321.txt
i02_21672_k_d_160323.txt
i02_21672_k_d_160324.txt
i02_22135_f_d_160310.txt
i02_22408_k_d_160224.txt
i02_22408_k_d_160226.txt
i02_22408_k_d_160301.txt
i02_22408_k_d_160310.txt
i02_22408_k_d_160311.txt
i02_22408_k_d_160315.txt
i02_22408_k_d_160317.txt
i02_22638_k_d_160220.txt
i02_22638_k_d_160224.txt
i02_22638_k_d_160226.txt
i02_22638_k_d_160302.txt
i02_22638_k_d_160304.txt
i02_22638_k_d_160307.txt
i02_22638_k_d_160315.txt
i02_22638_k_d_160316.txt
i02_22638_k_d_160317.txt
i02_22638_k_d_160321.txt
i02_22638_k_d_160323.txt
i02_22638_k_d_160324.txt
i02_22974_k_d_160323.txt
i02_22975_k_d_160224.txt
i02_22975_k_d_160226.txt
i02_22975_k_d_160302.txt
i02_22975_k_d_160303.txt
i02_22975_k_d_160304.txt
i02_22975_k_d_160309.txt
i02_22975_k_d_160317.txt
i02_22975_k_d_160321.txt
i02_22975_k_d_160322.txt
i02_22975_k_d_160324.txt
i02_22975_k_d_160329.txt
i02_23101_k_d_160226.txt
i02_23101_k_d_160309.txt
i02_23101_k_d_160311.txt
i02_23101_k_d_160317.txt
i02_23101_k_d_160318.txt
i02_23101_k_d_160322.txt
i02_23135_k_d_160224.txt
i02_23135_k_d_160301.txt
i02_23135_k_d_160302.txt
i02_23135_k_d_160323.txt
i02_23175_k_d_160224.txt
i02_23175_k_d_160301.txt
i02_23175_k_d_160302.txt
i02_23175_k_d_160304.txt
i02_23175_k_d_160310.txt
i02_23175_k_d_160311.txt
i02_23175_k_d_160315.txt
i02_23175_k_d_160318.txt
i02_23175_k_d_160324.txt
i02_23175_k_d_160325.txt
i02_23175_k_d_160328.txt
i02_23241_k_d_160219.txt
i02_23241_k_d_160224.txt
i02_23241_k_d_160225.txt
i02_23241_k_d_160301.txt
i02_23241_k_d_160302.txt
i02_23241_k_d_160310.txt
i02_23241_k_d_160315.txt
i02_23241_k_d_160317.txt
i02_23241_k_d_160318.txt
i02_23241_k_d_160321.txt
i02_23241_k_d_160322.txt
i02_23241_k_d_160324.txt
i02_23241_k_d_160325.txt
i02_23241_k_d_160328.txt
i02_23241_k_d_160329.txt
i02_23258_k_d_160301.txt
i02_23258_k_d_160310.txt
i02_23258_k_d_160316.txt
i02_23258_k_d_160317.txt
i02_23258_k_d_160325.txt
i02_23258_k_d_160328.txt
i02_23258_k_d_160329.txt
i02_23359_k_d_160224.txt
i02_23359_k_d_160225.txt
i02_23359_k_d_160301.txt
i02_23359_k_d_160302.txt
i02_23359_k_d_160310.txt
i02_23359_k_d_160315.txt
i02_23359_k_d_160316.txt
i02_23359_k_d_160317.txt
i02_23359_k_d_160323.txt
i02_23359_k_d_160324.txt
i02_23359_k_d_160325.txt
i02_23359_k_d_160328.txt
i02_23359_k_d_160329.txt
i02_23394_k_d_160224.txt
i02_23394_k_d_160301.txt
i02_23394_k_d_160304.txt
i02_23394_k_d_160315.txt
i02_23394_k_d_160324.txt
i02_23394_k_d_160325.txt
i02_23394_k_d_160328.txt
i02_23598_k_d_160219.txt
i02_23598_k_d_160301.txt
i02_23598_k_d_160304.txt
i02_23598_k_d_160310.txt
i02_23598_k_d_160311.txt
i02_23598_k_d_160315.txt
i02_23598_k_d_160318.txt
i02_23736_k_d_160224.txt
i02_23736_k_d_160302.txt
i02_23736_k_d_160303.txt
i02_23736_k_d_160315.txt
i02_23736_k_d_160316.txt
i02_23736_k_d_160317.txt
i02_23736_k_d_160321.txt
i02_23736_k_d_160324.txt
i02_24174_k_d_160220.txt
i02_24174_k_d_160301.txt
i02_24174_k_d_160302.txt
i02_24174_k_d_160304.txt
i02_24174_k_d_160310.txt
i02_24174_k_d_160315.txt
i02_24174_k_d_160318.txt
i02_24498_k_d_160224.txt
i02_24498_k_d_160301.txt
i02_24498_k_d_160304.txt
i02_24498_k_d_160310.txt
i02_24498_k_d_160317.txt
i02_24498_k_d_160318.txt
i02_24541_k_d_160325.txt
i02_24582_k_d_160224.txt
i02_24582_k_d_160226.txt
i02_24582_k_d_160301.txt
i02_24582_k_d_160302.txt
i02_24582_k_d_160304.txt
i02_24582_k_d_160310.txt
i02_24582_k_d_160311.txt
i02_24582_k_d_160315.txt
i02_24582_k_d_160316.txt
i02_24582_k_d_160318.txt
i02_24618_k_d_160220.txt
i02_24618_k_d_160301.txt
i02_24618_k_d_160302.txt
i02_24618_k_d_160304.txt
i02_24618_k_d_160310.txt
i02_24618_k_d_160315.txt
i02_24618_k_d_160318.txt
i02_24618_k_d_160322.txt
i02_24618_k_d_160324.txt
i02_24903_k_d_160301.txt
i02_24903_k_d_160302.txt
i02_24903_k_d_160304.txt
i02_24903_k_d_160310.txt
i02_25008_k_d_160224.txt
i02_25008_k_d_160302.txt
i02_25008_k_d_160303.txt
i02_25008_k_d_160309.txt
i02_25008_k_d_160310.txt
i02_25008_k_d_160311.txt
i02_25008_k_d_160317.txt
i02_25008_k_d_160323.txt
i02_25081_k_d_160301.txt
i02_25081_k_d_160302.txt
i02_25081_k_d_160304.txt
i02_25081_k_d_160310.txt
i02_25215_k_d_160224.txt
i02_25215_k_d_160303.txt
i02_25215_k_d_160304.txt
i02_25215_k_d_160315.txt
i02_25215_k_d_160318.txt
i02_25330_k_d_160219.txt
i02_25330_k_d_160224.txt
i02_25401_k_d_160224.txt
i02_25401_k_d_160302.txt
i02_25401_k_d_160303.txt
i02_25401_k_d_160316.txt
i02_25493_k_d_160224.txt
i02_25493_k_d_160301.txt
i02_25493_k_d_160302.txt
i02_25493_k_d_160316.txt
i02_25504_k_d_160301.txt
i02_25504_k_d_160302.txt
i02_25504_k_d_160304.txt
i02_25504_k_d_160310.txt
i02_25504_k_d_160315.txt
i02_25504_k_d_160318.txt
i02_25777_k_d_160301.txt
i02_25777_k_d_160302.txt
i02_25777_k_d_160304.txt
i02_25777_k_d_160310.txt
i02_25777_k_d_160315.txt
i02_25777_k_d_160316.txt
i02_25834_k_d_160224.txt
i02_25834_k_d_160315.txt
i02_27003_k_d_160220.txt
i02_27003_k_d_160224.txt
i02_27003_k_d_160225.txt
i02_27003_k_d_160226.txt
i02_27003_k_d_160301.txt
i02_27003_k_d_160302.txt
i02_27003_k_d_160303.txt
i02_27003_k_d_160310.txt
i02_27003_k_d_160311.txt
i02_27003_k_d_160315.txt
i02_27003_k_d_160316.txt
i02_27003_k_d_160317.txt
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set "In=F:\1"
Set "Out=F:\2"
Set "Mask=*.txt"
FOR %%f IN ("%In%\%Mask%") DO (
Set "Name=%%~nf"
Set "Dt=!Name:~-6!
rem Если надо иметь наименования папок в формате ГГММДД cледующую строку закомментировать или удалить
"Set "Dt=!Dt:~4,2!!Dt:~2,2!!Dt:~0,2!"
If Not Exist "%Out%\!Dt!" Md "%Out%\!Dt!"
Move /Y "%%f" "%Out%\!Dt!\" >nul 2>nul
megaloman
01-04-2016, 12:54
mychman, Не вижу закрывающей скобки. Возьмите мой файл, переименуйте его с расширением .bat. На Вашем диске F: cоздастся файл kuku.txt, предоставьте мне.
Foreigner
01-04-2016, 13:03
@echo off
setlocal
pushd "E:\Delete\1" || goto:eof
for %%i in (*.txt) do call:0 "%%i"
popd
goto:eof
:0
set "name=%~n1"
set "name=%name:_USD=%"
for %%i in (%name:_=,%) do set "dir=%%i"
2>nul md "E:\Delete\out\%dir%"
copy %1 "E:\Delete\out\%dir%"
megaloman
01-04-2016, 13:09
mychman, А файлы рассортировались по папкам?
А файлы рассортировались по папкам? »
Да, спасибо большое!
Задача решена.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.