Dizinler gibi bir dosya sunucusuna dizin değiştirmeye çalışıyorum:
cd \\someServer\\someStuff\
Ancak, aşağıdaki hatayı alıyorum:
CMD, geçerli dizinler olarak UNC yollarını desteklemiyor
Bu dizine gitmek için seçeneklerim nelerdir?
Komut dosyası oluşturmayı düşünüyorsanız, pushd
ve popd
komutları hakkında bilgi edinmek her zaman yardımcı olur. Bazen komut dosyasının çalışacağı makinede hangi sürücü harflerinin kullanıldığından emin olamazsınız ve bir sonraki kullanılabilir sürücü harfini almanız gerekir. Net Use
Sürücüyü belirtmenizi gerektireceğinden, işiniz bittiğinde pushd \\server\folder
Ve ardından popd
tuşlarını kullanabilirsiniz.
Veya Shell'inizi PowerShell olarak değiştirebilirsiniz. UNC yolları için tam desteğe sahiptir.
Kullanabilirsin Net Use
bir ağ sürücüsünü UNC yoluna eşlemek ve ardından eşlenen sürücüye göz atmak için.
Pushd'un burada biraz daha uzun açıklaması: http://shortfastcode.blogspot.com/2010/05/how-to-deal-with-cmd-does-not-support.html
Bu Win8x64'te benim için çalıştı:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"DisableUNCCheck"=dword:00000001
Bunu HKCU'da da yapabilmeniz gerekir, sadece oturumu kapatıp tekrar açtığınızdan emin olun.
cmd
ile diğer araçların da ihtiyaç duyabileceği bir sürücüyü açıkça eşlemenin yanı sıra, PowerShell gibi Shell komutunu da deneyebilirsiniz.
@pk kullanımı pushd & popd göre, işte bir örnek.
geçici bir sanal sürücü oluşturmak için pushd kullanın ve bittikten sonra geçici sanal sürücüyü silmek için bir popd yapın
:selectFolder
REM Confirm which Folder structure
set /p location="Delete files for which QA environment: (P)retoria, (C)ape, (L)uanda or (Q)uit? (C/L/P/Q)"
REM I option allows for upper and lower case
if /I "%location%"=="C" set folder="\\Tfwcqa\tfwcqa\EORDERS"
if /I "%location%"=="L" set folder="\\Tfluaqa\tfluaqa\EORDERS"
if /I "%location%"=="P" set folder="\\Tfptaqa\tfptaqa\EORDERS"
if /I "%location%"=="Q" goto endBatch
REM you can not cd to a network drive so we use pushd to create a temporary virtual drive
REM cd /d %folder%
pushd %folder%
DIR /S
REM popd deletes the temporary virtual drive
popd
UNC'nizde fazladan ters eğik çizgi var. "SomeServer" ÖNCE çift ters eğik çizgi IS uygundur. "SomeStuff" dan önceki çift ters eğik çizgi tek bir ters eğik çizgi olmalıdır, değil mi?
O zaman dene
\\ someServer\someStuff \"
DEĞİL
\\ someServer \\ someStuff \"
junction command burada işe yaramaz mı?