Hirdetés

Új hozzászólás Aktív témák

  • cigam
    titán

    Sziasztok.

    Windows alá kellene nekem egy olyan Batch (akármi.bat) ami képes megkeresni nekem egy bizonyos fájlt, majd változóba kiírni a teljes elérés utat.
    Nehezítés: A géphez csatolt minden elérhető meghajtón keressen rá.

    Példa: szeretném ha megkeresné a "marker.mark" nevű fájlt egy olyan gépen ahol van C, D, F, G, S, X, Y, meghajtó.

    Eddig jutottam el, de ez csak akkor működik ha előtte elnavigálom valamelyik meghajtóra.

    for /f "tokens=*" %%a in ('dir marker.mark /b /s') do set loc=%%a
    set loc1=%loc:~0,-11%

    Illetve:

    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 @if exist %%i: echo %%i:

    ezzel meg ki tudom íratni a létező meghajtókat. De a kettő összekapcsolásával vagyok bajban.

    Ha valaki elárulja nekem ezt a titkot akkor nem kell mindig megkeresnem kézzel, majd átírnom a batch fájlban.

    A segítséget előre is köszönöm! :R

    Mit szólnál ehez:

    @echo off
    pushd %~dp0
    set talalat=
    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 if exist %%i: call :keres %%i
    echo %talalat%
    popd
    goto :eof
    :keres
    %1:
    cd \
    for /f %%a in ('dir marker.mark /b /s') do set loc=%%a
    set talalat=%talalat%%loc%

    Kicsit megtrükköztem, mert nem csak 1 találat lehet, hanem több is. Ezt aztán kásőbb felsolgozhatod kedved szerint.

Új hozzászólás Aktív témák