EDIT: Eklemeliydim, komut isteminde WHERE komutunu kullanamıyorsanız, PATH değişkeninizi kontrol edin. (Sadece "path" komutunu kullanın.) C: \ Windows \ System32 yolunda olduğundan emin olun. Burası "where.exe" nin bulunduğu yer.
NEREDE, aradığınız komut! NEREDE yerleşik "hangi" ve "locate" komutunun içerdiği UNIX kabuğu arasında bir komut gibidir, bu komut hem çalıştırılabilir dosyalar hem de normal dosyalar için çalışır.
Aynı zamanda, her ikisinden de biraz daha karmaşık olsa da, genel olarak basit.
WHERE <file>
çalışacak.
Tüm dosya sistemine bakmadığı için "locate" komutundan farklıdır. Bunun yerine, varsayılan davranış iki konumda dosya aramaktır:
- Geçerli dizin
- PATH değişkenindeki tüm dizinler.
Bu nedenle, dizini belirtmeden doğrudan bir komut isteminden çalıştırabileceğiniz herhangi bir komut, NEREDE komutu tarafından bulunur. (Bunun gibi herhangi bir komut PATH değişken listesinde zaten var.)
Yalnızca komut yolu değişkeninde arama yapmak istiyorsanız , şunları kullanabilirsiniz:
WHERE "$path:<search text>"
Öte yandan, bir dosyanın tüm kopyalarını bir dizin ağacında bulmak istiyorsanız, şunları kullanabilirsiniz:
WHERE /R <Top Level Directory> <search text>
Son olarak, WHERE, uzantı dahil etmeden PATHEXT değişkeninden bir uzantıya sahip komutları ve dosyaları bulur. Diğer tüm dosyalar tam olarak veya joker karakterlerle belirtilmelidir.
Örneğin "dxdiag.exe" ve "dxdiagn.dll" dosyalarını alın. Aşağıdaki komutu ve çıktısını not alın:
WHERE /R C:\Windows dxdiag
C:\Windows\System32\dxdiag.exe
C:\Windows\SysWOW64\dxdiag.exe
C:\Windows\WinSxS\amd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7\dxdiag.exe
C:\Windows\WinSxS\x86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91\dxdiag.exe
"Dxdiag.exe" nin tüm sürümlerini döndürmekte başarılı olur çünkü ".exe" PATHEXT değişkenindeki uzantılardan biridir. (Not: "NERED dxdiag" de işe yarayabilirdi, çünkü C: \ Windows \ System32 PATH değişkeninde.)
WHERE /R C:\Windows dxdiagn
Öte yandan, ".dll" PATHEXT içinde olmadığı için herhangi bir sonuç döndürmüyor.
Bu durumda, bir joker karakter eklemenin bize sağladığı sonuçlara bakın:
WHERE /R C:\Windows dxdiagn*
C:\Windows\System32\dxdiagn.dll
C:\Windows\System32\en-US\dxdiagn.dll.mui
C:\Windows\SysWOW64\dxdiagn.dll
C:\Windows\SysWOW64\en-US\dxdiagn.dll.mui
C:\Windows\WinSxS\amd64_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_daccd04369b09c70\dxdiagn.dll.mui
C:\Windows\WinSxS\amd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7\dxdiagn.dll
C:\Windows\WinSxS\x86_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_7eae34bfb1532b3a\dxdiagn.dll.mui
C:\Windows\WinSxS\x86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91\dxdiagn.dll
Dxdiagn.dll dosyasının tüm sürümlerini başarıyla döndürür .
Daha fazla bilgi için "NEREDE /?" Kullanın. Bu yardımcı olur umarım!