Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


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

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


Цитата Svnkill:
TXT в тором хранятся имена которые я собирался потом отдельно переименовать. »
txt с тремястами строк, так?

Для первого варианта:
Цитата Svnkill:
У меня есть файл его нужно скопировать много раз в несколько папок.
Из папки D:\1 в B:\1 (300 копий) в F:\1 (300 копий) G:\1 (300 копий) »
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

rem D:\1\bla-bla-bla.txt
set sSourceFile=%~1

rem B:\1
set sDestFolder1=C:\Мои проекты\0344\0001

rem F:\1
set sDestFolder2=C:\Мои проекты\0344\0002

rem G:\1
set sDestFolder3=C:\Мои проекты\0344\0003

rem (300 копий)
set /a iCount = 12

if defined sSourceFile (
	if exist "%sSourceFile%" (
		for /f "usebackq tokens=1 delims==" %%i in (`set sDestFolder`) do (
			if exist "!%%i!\." (
				for /l %%j in (1, 1, %iCount%) do (
					echo Copy [%sSourceFile%] into [!%%i!] as [%%~j%~x1]
					>nul copy /y "%sSourceFile%" "!%%i!\%%~j.txt"
				)
			) else (
				echo Can't find destination folder [%%i].
			)
			echo.
		)
	) else (
		echo Source file [%sSourceFile%] not found.
		exit /b 2
	)
) else (
	echo Usage: %~nx0 ^<Source file^>
	exit /b 1
)

endlocal
exit /b 0

Для второго варианта:
Цитата Svnkill:
Вообще у меня есть TXT в тором хранятся имена которые я собирался потом отдельно переименовать. »
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

rem D:\1\bla-bla-bla.txt
set sSourceFile=%~1

rem у меня есть TXT в тором хранятся имена которые я собирался потом отдельно переименовать
set sNamesFile=%~2

rem B:\1
set sDestFolder1=C:\Мои проекты\0344\0001

rem F:\1
set sDestFolder2=C:\Мои проекты\0344\0002

rem G:\1
set sDestFolder3=C:\Мои проекты\0344\0003

if defined sSourceFile (
	if defined sNamesFile (
		if exist "%sSourceFile%" (
			if exist "%sNamesFile%" (
				for /f "usebackq tokens=1 delims==" %%i in (`set sDestFolder`) do (
					if exist "!%%i!\." (
						for /f "usebackq delims=" %%j in ("%sNamesFile%") do (
							echo Copy [%sSourceFile%] into [!%%i!] as [%%~j]
							>nul copy /y "%sSourceFile%" "!%%i!\%%~j"
						)
					) else (
						echo Can't find destination folder [%%i].
					)
					echo.
				)
			) else (
				echo Names file [%sNamesFile%] not found.
				exit /b 4
			)
		) else (
			echo Source file [%sSourceFile%] not found.
			exit /b 3
		)
	) else (
		echo Usage: %~nx0 ^<Source file^>
		exit /b 2
	)
) else (
	echo Usage: %~nx0 ^<Source file^> ^<Names file^>
	exit /b 1
)

endlocal
exit /b 0

Имена и пути поменяйте на Ваши.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:52, 04-06-2021 | #4