Ne windows klasöründe symlink / mklink yapamam (yani önyüklemeyi engelle)


1

Çok büyük bir projem var. Senaryoyu yazdım. Komut dosyası, bir .txt dosyasına, belirli bir boyutun altındaki veya üzerindeki tüm dosyaların bir listesini yazar. Sonra dosyaları başka bir hdya taşıdım (önyükleme sürücümü nasıl kurduğuma bağlı olarak) ve sonra orijinali silip bir link oluşturdum.

Amacım 512KB altındaki tüm dosyaları bir SSD'ye taşımak ve kalanını RAID'de tutmak.

Program Dosyaları ve Program Dosyaları (x86) ve Kullanıcılar üzerinde mükemmel şekilde denedim. Ancak, Windows sürücüsünü yaptığımda bir BCD önyükleme hatası alıyorum.

Ancak, işletim sistemimi RAID'e taşımaya ve tüm dosyaları SSD'ye taşımaya karar verdim (daha önce başka bir şekilde yapıyordum) çünkü belki de RAID, sembolik bağlantılar kurulmadan önce yüklü olmadığını düşünüyordum.

Aşağıdaki klasörleri yalnız bırakarak önyüklemeyi aldım: assembly, windows \ system32'deki tüm dosyalar ve syswow64 ve önyükleme.

Ben sadece bir deneme yanılma olabileceğini düşünüyorum.

Kimse ilgileniyorsa toplu iş dosyaları

filesize.bat

@Echo Off
SetLocal EnableDelayedExpansion

set maxbytesize=1048576

for /f "tokens=*" %%A in ('dir /a-d /b /s') DO (
    If %%~zA GTR %maxbytesize% (
        echo %%A
    )

) >> list2.txt

Combine.csv dosyasını oluşturmak için üzerinde openofficeportable olan win7rescuepe canlı cd kullanıyorum (list2.txt dosyasını sütun a'ya kopyalayıp yapıştırın, hızlı bir şekilde arama yapın / hedef yolu değiştirin ve içerikleri b sütununa kopyalayın, birleşik olarak kaydedin) .csv).

transfer.bat

echo off

SetLocal EnableDelayedExpansion

Set n=
Set m=

for /f "tokens=1,2* delims=," %%A in (combined.csv) DO (
    Set /a n+=1
    Set /a m+=1
    echo %%A
    echo %%B
    echo F|xcopy %%A %%B /Y /f > nul
    IF EXIST %%B DEL %%A
    IF EXIST %%B MKLINK %%A %%B 
)

2
Sen do Windows sürücüsüne sabit bağlarının, orada olduğunu fark? Eğer WinSxS'i System32'dan farklı bir sürücüye çıkardıysanız, örneğin, ne olduğuna bağlı olarak, önemli olan ya da olmayabilir, dosyalar arasındaki bağlantıları koparıyor.
Mehrdad

Yanıtlar:


0

winsxlerimi hareket ettirdim ve işler iyi gidiyor. Bence işe yarıyorlar çünkü yol hala aynı, bu yüzden kendisine bağlı olan şeyler varken onu taşımak iyi olmalı. Daha önce sorun yaşıyordum ancak bunun nedeni dosyaların kopyalanamamasıydı. Yeniden yükledim ve tüm sorunları çözebildim

Güncelleme olarak. Ayrıca inf klasörünü taşımadım

Bu klasörleri otomatik olarak atlamak için komut dosyasını yeniden yazmayı düşünüyorum. Neyin yüklenip neyin yüklenemeyeceğini görmek için SOME dosyalarına bağlanmak yerine mount noktaları kullanarak basit bir test yapabilirim.


Hardlinks, dizinlerle girişlerle çalışır, bu nedenle başka bir dosya sistemine taşındığında kırılırlar.
Grawity

0

Şimdi sürüşümü üç kez boşalttım. Yalnız bırakmak zorunda kalmam gereken klasörler nedeniyle (sys32 / syswow, inf vb.) Önyükleme aygıtının SSD'ye sahip olmasına karar verdim. 4K okurlar nedeniyle RAID istemiyorum. Harika çalışıyor! Daha hızlı hd yük dengeli bir başlangıç ​​elde etmek için gerçekten iyi bir yol. Ayrıca, bir ramdisk bağlamak ve geçici dosyalarımı ona atamak için ücretsiz bir ramdisk aracı kullandım, böylece ssd temp dosyaları yazmak için zaman harcamıyor ve 4k okuma / yazma için daha fazla üretkenliğe sahip oluyor.


Lütfen mümkünse cevaplarınızı birleştirin.
oKtosiTe

0

görüntülenecek simge gibi. Sembolik Link'ten farklı olarak, DOS'ta "cd ./shortcut-name" yapamazsınız (Unix / Linux'ta "cd ./symlink-name" yazabilirsiniz ve tıpkı gerçek bir alt dizin gibi çalışacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.