logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak użyć mklink do udostępnienia C:\psdzdata w trzech lokalizacjach Windows?

rudiszubert 06 Gru 2025 09:51 171 3
REKLAMA
  • #1 21772752
    rudiszubert
    Poziom 19  
    Posty: 763
    Ocena: 221
    Nie mogę sobie poradzić z poleceniem"mklink"
    Mam trzy programy ,które używają takiego samego folderu z jego zawartością. Czy mogę prosić o napisanie mi tego polecenia ?
    katalog do powiązań jest na : "C:\psdzdata"

    ma być udostępniony :

    C:\Data\psdzdata

    C:\Rheingold\PSdZ\data_swi\psdzdata

    C:\Program Files\BMW\ISPI\TRIC\ISTA\PSdZ\data_swi\psdzdata
  • REKLAMA
  • #2 21772820
    Kiermasz
    Poziom 23  
    Posty: 591
    Pomógł: 52
    Ocena: 194
    Witam.
    Zakładając iż istnieją podane foldery to po prostu:

    cd c:\Data
    ren psdzdata offed_psdzdata
    mklink /J psdzdata C:\psdzdata

    cd C:\Rheingold\PSdZ\data_swi
    ren psdzdata offed_psdzdata
    mklink /J psdzdata C:\psdzdata

    cd C:\Program Files\BMW\ISPI\TRIC\ISTA\PSdZ\data_swi
    ren psdzdata offed_psdzdata
    mklink /J psdzdata C:\psdzdata

    We wszystkich 3 lokalizacjach c:\psdzdata będzie wspólną lokalizacją, a oryginalne będą miały prefix <offed_> i wszystkie programy będą pisały do tej lokalizacji.

    Ale czy to na pewno dobry pomysł? Mogą być problemy podczas jednoczesngo korzystania z kilku programów.
    W świecie automatyki to zazwyczaj działa, lecz zdarzały się niespodzianki :)
    Jest też wada tego rozwiązania - windowsowe wyszukiwarki plików się zapętlają na linkowanych lokalizacjach.

    Załączam skrypt mojego koślawego autorstwa, na zautomatyzowanie zadania. Kod w spoilerze.
    Klasycznie, zaleca się zrobić bakcup modyfikowanych lokalizacji :)

    Spoiler:

    @Echo. off
    echo Skrypcik na dolinkowanie C:\psdzdata do lokalizacji:
    echo C:\Data\psdzdata
    echo C:\Rheingold\PSdZ\data_swi\psdzdata
    echo C:\Program Files\BMW\ISPI\TRIC\ISTA\PSdZ\data_swi\psdzdata
    echo --------------------------------
    echo po wykonaniu skryptu, katalog C:\psdzdata będzie wspólnym dla powyzszych lokalizacji
    echo w ciagu 10s nacisnij ctrl+c aby przerwac
    echo --------------------------------
    timeout /t 10

    echo --------------------------------
    echo wbijam do \Data
    echo --------------------------------
    timeout /t 5
    cd c:\Data
    echo zmana nazwy psdzdata na offed_psdzdata
    ren psdzdata offed_psdzdata
    echo wstawianie połączenia systemu plików psdzdata <-> C:\psdzdata
    mklink /J psdzdata C:\psdzdata

    echo --------------------------------
    echo wbijam do \Rheingold\PSdZ\data_swi
    echo --------------------------------
    timeout /t 5
    cd C:\Rheingold\PSdZ\data_swi
    echo zmana nazwy psdzdata na offed_psdzdata
    ren psdzdata offed_psdzdata
    echo wstawianie połączenia systemu plików psdzdata <-> C:\psdzdata
    mklink /J psdzdata C:\psdzdata

    echo --------------------------------
    echo Wbijam do \Program Files\BMW\ISPI\TRIC\ISTA\PSdZ\data_swi
    echo --------------------------------
    timeout /t 5
    cd C:\Program Files\BMW\ISPI\TRIC\ISTA\PSdZ\data_swi
    echo zmana nazwy psdzdata na offed_psdzdata
    ren psdzdata offed_psdzdata
    echo wstawianie połączenia systemu plików psdzdata <-> C:\psdzdata
    mklink /J psdzdata C:\psdzdata

    echo --------------------------------
    echo Koniec
    echo --------------------------------
    PAUSE
    Załączniki:
    • skrypcik.zip (506 Bajtów) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #3 21772854
    rudiszubert
    Poziom 19  
    Posty: 763
    Ocena: 221
    Nie używam tych programów w jednym czasie. Czy jest inna, lepsza metoda? Chcę to zrobić, bo ten katalog waży 300 Gb a czasami i więcej. Czy te puste katalogi w tych 3 lokalizacjach, muszą fizycznie być, czy nie?
  • #4 21773022
    Kiermasz
    Poziom 23  
    Posty: 591
    Pomógł: 52
    Ocena: 194
    Prawdę mówiąc, wydajniejszej metody nie znam.
    Raczej zalecałbym wykluczyć owy folder z szukajki i mieć spokój :)

    Win+I i tam trzeba się doklikać do wykluczeń z wyszukiwania i wykluczyć C:\psdzdata lub nasze 3 lokalizacje z hardlinkami i już się szukajka nie będzie pętlić.
    Zaś gpedit.msc>szablony adm>składniki systemu win>Wyszukaj>Domyślnie wykluczone ścieżki i tam w formacie file:///C:\psdzdata, to przekombinowana metoda ustawienia tego samego.

    U mnie to będzie inaczej wyglądało niż w zaktualizowanych systemach, więc nie poprowadzę przez GUI - mam mocno i osobiście przegrzebany OS i aktualizacji to on nie widział od 2021r. :)

    rudiszubert napisał:
    Czy jest inna, lepsza metoda?


    Czy lepsza? Wątpię. Hardlinki i junctiony są najwydajniejsze, przynajmniej w mojej praktyce.
    Oczywiście są przeróżniaste sztuczki z np. montowaniem jakiegoś kontenera w systemie plików itp, ale czy to dobre? Zależy do czego i raczej nie do tego przypadku, lecz to by też działało.
    Windows ogólnie w tej kwestii jest dość ułomny, więc raczej bym trzymał dane w archiwum *.wim i montował DISMem na konkretne ścieżki.
    Są też sztuczki z synchronizacjami folderów (i nie do tego przypadku).

    rudiszubert napisał:
    Czy te puste katalogi w tych 3 lokalizacjach, muszą fizycznie być, czy nie?

    Jeśli program oczekuje ścieżki XYZ, to program tam będzie szukał danych.
    Foldery _offed są offed, ponieważ nie biorą udziału oraz zstępujemy je naszym folderem na C:\, wirtualnie podpiętym do oryginalnych 3 lokalizacji, a ich funkcję przejmują junctiony o nazwie oryginalnych folderów, a wszystkie 3 prowadzą do jednego C:\psdzdata.
    Jeśli oprogramowanie nie korzysta z własnościowych metod dostępu do systemu plików, to nie powinno nawet zauważyć junctionów.
REKLAMA