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

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

DJIOAN 22-07-2015 08:25 2531220

bat для поиска файла и выполнения действий над искомым файлом
 
Доброго времени суток! помогите решить проблему, пытаюсь сделать bat , он вроде находит но при попытке произвести действие не получается, чтоб он к примеру запускал файл. Если файл который нужно открыть лежит в той же директории то он его открывает, если на разных дисках вроде находит файл но не находит пути для его запуска. Подскажите как связать
Вот так выглядит мой набросок (я повторюсь я самоучка)
Код:

@echo off
chcp 866 > nul

set name=sdddd.txt

:test
echo Поиск файла ****** 1111.bat ****** на диске = C =
dir "C:\" /S | find "%name%"
ping 127.0.0.1 -n 3 > nul
echo Поиск файла ****** 1111.bat ****** на диске = D =
dir "D:\" /S | find "%name%" | goto R
if exist %name% do ( start sdddd.txt
) else (
echo "WARNING !!! ERROR" )

:R
start sdddd.txt

if not errorlevel 0 goto go
pause


Georgio 22-07-2015 09:58 2531257

Код:

@echo off

set "name=sdddd.txt"

>nul chcp 1251
set message_1=Поиск файла "%name%" на диске "%%i"...
set message_2=Файл "%%j" на диске "%%i" найден и будет открыт.
set message_3=Файл "%name%" на диске "%%i" не найден.
>nul chcp 866

:test
for %%i in (C D) do (
 echo %message_1%
 (
 for /f "delims=" %%j in ('2^>nul dir/a-d/b/s "%%i:\%name%"') do (
  echo %message_2%& echo.
  start "" "%%j"& goto continuation
 )
 )|| echo %message_3%& echo.
)

:continuation
pause


DJIOAN 22-07-2015 10:15 2531270

Спасибо! Супер отработал на ура! теперь буду разбираться в переменных чтоб полностью понимать что к чему :clapping: :up :oszone:


Время: 04:03.

Время: 04:03.
© OSzone.net 2001-