Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Поиск и запуск файла определенной программой (http://forum.oszone.net/showthread.php?t=299295)

ufooo 03-05-2015 20:08 2503360

Поиск и запуск файла определенной программой
 
Как .bat кодом отыскать и перенаправить запуск файла определенной программой.
Пример варианта: файл "Win.doc" например находится здесь- ( %Systemdrive%\Users\%Username%\AppData\Win.doc )
И после нахождения файла Win.doc, направить его открытие на программу: ( %Systemdrive%\Program Files\Microsoft Office\OFFICE11\WINWORD.exe )
Если можно напишите .bat код этой функции.

mwz 04-05-2015 00:02 2503452

ufooo, это вопрос курсовой работы?

ufooo 04-05-2015 00:12 2503456

Цитата:

Цитата mwz
это вопрос курсовой работы? »

Нет.

mwz 04-05-2015 00:35 2503468

ufooo, искать по всем дискам, в т.ч. сетевым?

ufooo 04-05-2015 00:59 2503471

искать по всем дискам

iccup.platoon@vk 04-05-2015 03:18 2503484

Божечки.
Предисловие: сначала читаешь, потом выполняешь.

0) Можно попробовать так:
Код:

@echo off
set file=%Systemdrive%\Users\%Username%\AppData\Win.doc
set program=%Systemdrive%\Program Files\Microsoft Office\OFFICE11\WINWORD.exe
start "" "%program%" "%file%"

1) Ассоциируем файл НАВСЕГДА (пока не исправишь) с прогой по пути %Systemdrive%\Program Files\Microsoft Office\OFFICE11\WINWORD.exe и тут же его запускаем.
Код:

@echo off
ASSOC .doc=Word.Document
FTYPE Word.Document="%Systemdrive%\Program Files\Microsoft Office\OFFICE11\WINWORD.exe" "%1"
%Systemdrive%\Users\%Username%\AppData\Win.doc

Не забудь отписаться о результатах.

ufooo 04-05-2015 04:32 2503489

Так работает.
Код:

@echo off
set file=%Systemdrive%\Users\%Username%\AppData\Win.doc
set program=%Systemdrive%\Program Files\Microsoft Office\OFFICE11\WINWORD.exe
start "" "%program%" "%file%"


mwz 04-05-2015 07:58 2503497

ufooo, только эта запись не ищет файл Win.doc, а берёт его с заранее известного места.

А вам ведь надо найти (а если их несколько, в разных каталогах или на разных дисках?), а затем пустить на исполнение.

ufooo 04-05-2015 17:16 2503707

Так.
Код:

@Echo off
setlocal enableextensions enabledelayedexpansion
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\Winword.exe" 2^>Nul') Do set temp1=%%a)
endlocal & set proga=%temp1%
setlocal enableextensions enabledelayedexpansion
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\Win.doc" 2^>Nul') Do set temp2=%%a)
endlocal & set file=%temp2%
"%proga%" "%file%"
Exit /b



Время: 09:21.

Время: 09:21.
© OSzone.net 2001-