Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование и переименовывание exe в одной папке [bat]

Ответить
Настройки темы
CMD/BAT - Копирование и переименовывание exe в одной папке [bat]

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте! Интересует следующая ситуация:
Допустим есть папка C:\papka\ в которой лежит 1 оригинальный файл с расширением .exe, его название test (C:\papka\test.exe) вместе с ним лежат 10 его копий с названиями t01, t02, t03, t04 итд.
Возможно ли используя функции bat произвести следующие действия:
Сначало удалить все копии, оставив только оригинал, затем по новой скопировать test.exe и переименовать файлы как было раньше (t01, t02, t03, t04, итд)

Отправлено: 08:04, 21-08-2017

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Скрытый текст
Код: Выделить весь код
@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

Путь к исходному файлу указывается параметром пакетного файла (также можно просто перетащить исходный файл на пакетный файл в Проводнике).
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:41, 21-08-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо все работает, но если возможно, хотел бы задать один вопрос.
Что я могу добавить чтобы после перезаписи старых файлов, можно было менять название приложений? Изначально имя TEST.exe , но после использования батника хочу чтобы имя оригинала осталось прежним, а имена копий назывались T00, T01, T02, T03, T04 etc

Последний раз редактировалось Lemonparty, 21-08-2017 в 13:09. Причина: Изменил первый вопрос


Отправлено: 12:54, 21-08-2017 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Lemonparty:
не знаете с чем это может быть связано? »
Нет, не знаю.

Цитата Lemonparty:
хочу чтобы имя оригинала осталось прежним, а имена копий назывались T00, T01, T02, T03, T04 etc »
Замените:
Код: Выделить весь код
set sDestFileBaseName=%~n1
на:
Код: Выделить весь код
set sDestFileBaseName=T
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:10, 21-08-2017 | #4


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Моя ошибка, удалил первый вопрос, спасибо огромное все работает отлично.

Отправлено: 13:20, 21-08-2017 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование и переименовывание exe в одной папке [bat]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] mingw.exe onion.exe svchost.exe в папке Temp rodya99 Лечение систем от вредоносных программ 2 14-11-2015 17:52
[решено] exe.emorhc.bat , exe.xoferif.bat встраиваются в ярлыки браузеров ProXlada Лечение систем от вредоносных программ 18 06-04-2015 06:23
CMD/BAT - Копирование и Переименовывание Mirzha Скриптовые языки администрирования Windows 2 12-02-2011 23:04
Вопрос - wuauclt1.exe в папке system32 и taskman.exe LINCOLN Защита компьютерных систем 1 16-08-2009 09:15




 
Переход