Показать полную графическую версию : [решено] Переименование, если файл с таким именем уже существует...
В папке "MAIL" время от времени появляется файл "Post.zip", после чего он автоматически отправляется и после отправки копируется в папку "SentMail" и каждый следующий автоматически заменяет предидущий... Как сделать, чтобы файл не заменялся, а переименовывался, например добавлялся номер по порядку...
Например: Post.zip
Post_2.zip
Post_3.zip
Отправку и перемещени выполняет DOS-вертушка, параметры которой и записываются в bat-файле
Заранее спасибо =)
файл не заменялся, а переименовывался, например добавлялся номер по порядку... »
@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
А если, к примеру, есть с десяток разных по имени файлов, но у каждого из них таже история???
есть с десяток разных по имени файлов, но у каждого из них таже история »
Т.е., в папке MAIL есть файлы с разными именами и расширениями и все эти файлы нужно скопировать по тому же принципу в папку SentMail? Или не все нужно копировать, то кто должен определить какие нужно копировать, а какие нет?
Или этот десяток имен фиксированный?
Копировать нужно все...
Или этот десяток имен фиксированный? »
В основном да, но иногда встречаются незнакомые или редко употребляемые...
@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
Спасиб =)
@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 »
Блин, упустил один момент... Нужно, чтобы вышеуказанные действия проходили только с архивами.
только с архивами »
Какими? Какое расширение у файла архива?
Какими? Какое расширение у файла архива? »
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
Переименование файлов по порядку
http://tool-bar.ru/renamefiles.html
попробуй этой программкой
ospekt00
30-07-2018, 13:12
Добрый день, подскажите по данному скрипту:
@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 чистилась? Заранее спасибо.
Как сделать что бы после копирования в директорию 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
ospekt00
30-07-2018, 15:51
Спасибо, все получилось
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.