Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] копирование файла в папку с датой (http://forum.oszone.net/showthread.php?t=240684)

foma24 16-08-2012 09:21 1971088

копирование файла в папку с датой
 
Добрый день. Подскажите пожалуйста, есть файлы с именем pbyyyymmdd (дата не текущая), как можно по дате в имени файла скопировать этот файл в папку с именем yyyy-mm-dd

El Sanchez 16-08-2012 09:55 1971102

foma24,
Код:

@Echo Off
SetLocal
Set Source=C:\temp

For %%A In ("%Source%\pb*.*") Do Call :_Proc "%%A"
GoTo :EoF

:_Proc
        Set FN=%~n1
        If Not "%FN:~9,1%"=="" XCopy /Y %1 "%~dp1%FN:~2,4%-%FN:~6,2%-%FN:~8,2%\"


foma24 16-08-2012 10:10 1971111

еще вопросов, а если файл вот такого вида KWTFCB_PB1_ROOXXXXXXXX_XXXXYYYYMMDD_XXX.TXT

FN:~9,1 подразумевает 10 символов
а на такой файл выдает Недопустимое число параметров

El Sanchez 16-08-2012 11:04 1971134

Цитата:

Цитата foma24
FN:~9,1 подразумевает 10 символов »

foma24, это подразумевает, что если в имени файла есть 10 символ, то можно получать из этого имени дату, не боясь, что символов не хватит.

Цитата:

Цитата foma24
а на такой файл выдает Недопустимое число параметров »

foma24, а на такой файл маски в for нет. Показывайте, что изменили в скрипте.

foma24 16-08-2012 11:40 1971152

Глупую ошибку допустил)

Вот скрипт:

Код:

SetLocal
Set Source=C:\111

For %%A In ("%Source%\*.*") Do Call :_Proc "%%A"
GoTo :EoF

:_Proc
        Set FN=%~n1
        If Not "%FN:~9,1%"=="" XCopy /Y %1 "C:\222\%FN:~2,4%-%FN:~6,2%-%FN:~8,2%\"
pause

вопрос такой, если у меня в одну папку кидаются и pbyyyymmdd и KWTFCB_PB1_ROOXXXXXXXX_XXXXYYYYMMDD_XXX.TXT как сделать так чтобы и то и то копировалось в папку C:\222\%FN:~2,4%-%FN:~6,2%-%FN:~8,2%\
kwt ведь создает свою папку TFCB-_P-1_ из за указания номеров символов в коде

El Sanchez 16-08-2012 12:23 1971177

Цитата:

Цитата foma24
вопрос такой, если у меня в одну папку кидаются и pbyyyymmdd и KWTFCB_PB1_ROOXXXXXXXX_XXXXYYYYMMDD_XXX.TXT как сделать так чтобы и то и то копировалось в папку C:\222\%FN:~2,4%-%FN:~6,2%-%FN:~8,2%\ »

foma24,
Код:

@Echo Off
SetLocal
Set Source=C:\111

For %%A In ("%Source%\pb*.*" "%Source%\KWTFCB*.*") Do Call :_Proc "%%A"
GoTo :EoF

:_Proc
        Set FN=%~n1
        Echo:%FN%|FindStr /i ^^pb&&If Not "%%FN:~9,1%%"=="" XCopy /Y %1 "C:\222\%FN:~2,4%-%FN:~6,2%-%FN:~8,2%\"
        Echo:%FN%|FindStr /i ^^KWTFCB&&If Not "%%FN:~34,1%%"=="" XCopy /Y %1 "C:\222\%FN:~27,4%-%FN:~31,2%-%FN:~33,2%\"



Время: 20:03.

Время: 20:03.
© OSzone.net 2001-