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

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

Ветеран


Contributor


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

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


Цитата:
то найти на диске D:\ (на всем, не в корн. каталоге) файл 2 2.exe
Вот еще вариант, файл 2 2.ехе будет найден в первой попавшейся директории на указанном диске (или в подпапках указанной папке), если в первоначальном месте его не окажется
Код: Выделить весь код
@Echo Off

Set Exe1=D:\Delete\Exe файл1\1.exe
Set Exe2=D:\Delete\Program\2 2.exe
Set Where=D:

SetLocal EnableExtensions
SetLocal EnableDelayedExpansion

If Exist "%Exe2%" (
   Call :ExeStart "%Exe2%"
) Else (
   FOR /F "delims=" %%n IN ("%Exe2%") DO Set NameExe=%%~nxn
   FOR /F "usebackq delims=" %%d IN (`Dir "%Where%\" /b /A:D /S`) DO If Exist "%%d\!NameExe!" Call :ExeStart "%%d\!NameExe!"
)
GoTo :Eof

:ExeStart
Set DirExe="%~dp1"

CD /D %DirExe%
Copy "%Exe1%" %DirExe% >Nul
FOR /F "delims=" %%m IN ("%Exe1%") DO Start " " "%%~nxm"
Exit

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


Последний раз редактировалось megaloman, 20-01-2012 в 10:43.


Отправлено: 10:37, 20-01-2012 | #5