Переименование, если файл с таким именем уже существует...
В папке "MAIL" время от времени появляется файл "Post.zip", после чего он автоматически отправляется и после отправки копируется в папку "SentMail" и каждый следующий автоматически заменяет предидущий... Как сделать, чтобы файл не заменялся, а переименовывался, например добавлялся номер по порядку...
Например: Post.zip
Post_2.zip
Post_3.zip
Отправку и перемещени выполняет DOS-вертушка, параметры которой и записываются в bat-файле
Заранее спасибо =)
|
Цитата:
Цитата Pshek
файл не заменялся, а переименовывался, например добавлялся номер по порядку... »
|
Код:
@Echo Off
Set input=MAIL
Set output=SentMail
Set cn=
:_loop
If Exist "%output%\Post%cn%.zip" Set /a cn+=1& Goto _loop
Copy "%input%\Post.zip" "%output%\Post%cn%.zip">Nul
|
А если, к примеру, есть с десяток разных по имени файлов, но у каждого из них таже история???
|
Цитата:
Цитата Pshek
есть с десяток разных по имени файлов, но у каждого из них таже история »
|
Т.е., в папке MAIL есть файлы с разными именами и расширениями и все эти файлы нужно скопировать по тому же принципу в папку SentMail? Или не все нужно копировать, то кто должен определить какие нужно копировать, а какие нет?
Или этот десяток имен фиксированный?
|
Копировать нужно все...
Цитата:
Цитата gora
Или этот десяток имен фиксированный? »
|
В основном да, но иногда встречаются незнакомые или редко употребляемые...
|
Код:
@Echo Off
Set input=MAIL
Set output=SentMail
For /F "UseBackQ Delims=" %%I In (`Dir "%input%" /B 2^>Nul`) Do Call :_copyF "%%I"
Exit
:_copyF
Set cn=
:_loop
If Exist "%output%\%~n1%cn%%~x1" Set /a cn+=1& Goto _loop
Copy "%input%\%~1" "%output%\%~n1%cn%%~x1">Nul
GoTo :EOF
|
Спасиб =)
Цитата:
Цитата gora
@Echo Off
Set input=MAIL
Set output=SentMail
For /F "UseBackQ Delims=" %%I In (`Dir "%input%" /B 2^>Nul`) Do Call :_copyF "%%I"
Exit
:_copyF
Set cn=
:_loop
If Exist "%output%\%~n1%cn%%~x1" Set /a cn+=1& Goto _loop
Copy "%input%\%~1" "%output%\%~n1%cn%%~x1">Nul
GoTo :EOF »
|
Блин, упустил один момент... Нужно, чтобы вышеуказанные действия проходили только с архивами.
|
Какими? Какое расширение у файла архива?
|
Цитата:
Цитата gora
Какими? Какое расширение у файла архива? »
|
zip и rar
|
Код:
@Echo Off
Set input=MAIL
Set output=SentMail
Set ext=rar zip
For /F "UseBackQ Delims=" %%I In (`Dir "%input%" /B 2^>Nul`) Do For %%K In (%ext%) Do If /I "%%~xI"==".%%K" Call :_copyF "%%I"
Exit
:_copyF
Set cn=
:_loop
If Exist "%output%\%~n1%cn%%~x1" Set /a cn+=1& Goto _loop
Copy "%input%\%~1" "%output%\%~n1%cn%%~x1">Nul
GoTo :EOF
|
Добрый день, подскажите по данному скрипту:
Код:
@Echo Off
Set input=MAIL
Set output=SentMail
For /F "UseBackQ Delims=" %%I In (`Dir "%input%" /B 2^>Nul`) Do Call :_copyF "%%I"
Exit
:_copyF
Set cn=
:_loop
If Exist "%output%\%~n1%cn%%~x1" Set /a cn+=1& Goto _loop
Copy "%input%\%~1" "%output%\%~n1%cn%%~x1">Nul
GoTo :EOF
Как сделать что бы после копирования в директорию output целевой файл из input удалялся, либо чтобы после всего копирования директория input чистилась? Заранее спасибо.
|
Цитата:
Цитата ospekt00
Как сделать что бы после копирования в директорию output целевой файл из input удалялся »
|
Код:
…
If Exist "%output%\%~n1%cn%%~x1" Set /a cn+=1& Goto _loop
Copy "%input%\%~1" "%output%\%~n1%cn%%~x1">Nul && del /f /q "%input%\%~1"
GoTo :EOF
|
Время: 07:24.
© OSzone.net 2001-