Показать полную графическую версию : Копирование и переименовывание exe в одной папке [bat]
Lemonparty
21-08-2017, 08:04
Здравствуйте! Интересует следующая ситуация:
Допустим есть папка C:\papka\ в которой лежит 1 оригинальный файл с расширением .exe, его название test (C:\papka\test.exe) вместе с ним лежат 10 его копий с названиями t01, t02, t03, t04 итд.
Возможно ли используя функции bat произвести следующие действия:
Сначало удалить все копии, оставив только оригинал, затем по новой скопировать test.exe и переименовать файлы как было раньше (t01, t02, t03, t04, итд)
@echo off
setlocal enableextensions enabledelayedexpansion
set sSourceFile=%~1
if defined sSourceFile (
if exist "%sSourceFile%" (
set sDestFileBaseName=%~n1
set sDestFileExtName=%~x1
set sSourceFolder=%~dp1
pushd "!sSourceFolder!" && (
for /l %%i in (1, 1, 10) do (
set sNumber=0%%i
set sDestFileName=!sDestFileBaseName!!sNumber:~-2!!sDestFileExtName!
>nul copy /y "%sSourceFile%" "!sDestFileName!"
)
popd
) || (
echo Can't change current folder to [!sSourceFolder!].
exit /b 3
)
) else (
echo Can't find source file [%sSourceFile%].
exit /b 2
)
) else (
echo Usage: %~nx0 ^<Path to source file^>
exit /b 1
)
endlocal
exit /b 0
Путь к исходному файлу указывается параметром пакетного файла (также можно просто перетащить исходный файл на пакетный файл в Проводнике).
Lemonparty
21-08-2017, 12:54
Спасибо все работает, но если возможно, хотел бы задать один вопрос.
Что я могу добавить чтобы после перезаписи старых файлов, можно было менять название приложений? Изначально имя TEST.exe , но после использования батника хочу чтобы имя оригинала осталось прежним, а имена копий назывались T00, T01, T02, T03, T04 etc
не знаете с чем это может быть связано? »
Нет, не знаю.
хочу чтобы имя оригинала осталось прежним, а имена копий назывались T00, T01, T02, T03, T04 etc »
Замените:
set sDestFileBaseName=%~n1
на:
set sDestFileBaseName=T
Lemonparty
21-08-2017, 13:20
Моя ошибка, удалил первый вопрос, спасибо огромное все работает отлично.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.