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

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

Ветеран


Contributor


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

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


Цитата Sisin:
program1 получает файлы от меня путем drag-and-drop на батник, аргументы "file1|file2|file3", »
При этом в аргументах скрипта file1,2,3 .... передаются полными именами (то есть полным путём: Z:\tralala\file1 ....), что, подозреваю, для program1 норма. Если program1 забросил после обработки файлы в иную, создаваемую Вами папку, то для program2 в аргументе, соответственно, надо указывать новые имена.
Вот вариант
Код: Выделить весь код
@Echo Off
cls
	Set "DirTmp=Z:\Tmp.dir"	

	If "%~1"=="" (Echo No arguments &Pause &Exit /b 2)

	If Exist "%DirTmp%" Rd /S /Q "%DirTmp%"
	Md "%DirTmp%"
	
	Set "A="
	Set "B="
rem	For %%i In (%*) Do Call Set "A=%%A%%|"%%~i"" &Call Set "B=%%A%%|"%DirTmp%\%%~nxi""
	For %%i In (%*) Do Call Set "A=%%A%%|%%~i" &Call Set "B=%%B%%|%DirTmp%\%%~nxi"
	Call Set A="%A:~1%"
	Call Set B="%B:~1%"
echo on
	program1 %A%

	program2 %B%
 	
	Rd /S /Q "%DirTmp%"
Pause
Exit /B
Результат
Цитата:
Z:\>program1 "Z:\Soft_In\file1.mp3|Z:\Soft_In\file2.mp3|Z:\Soft_In\file3.mp3|Z:\Soft_In\file4.mp3"
"program1" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Z:\>program2 "Z:\Tmp.dir\file1.mp3|Z:\Tmp.dir\file2.mp3|Z:\Tmp.dir\file3.mp3|Z:\Tmp.dir\file4.mp3"
"program2" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 02-08-2019 в 12:27.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:08, 02-08-2019 | #18