ฉันพยายามเปลี่ยนไดเรกทอรีเป็นไฟล์เซิร์ฟเวอร์เช่น:
cd \\someServer\\someStuff\
อย่างไรก็ตามฉันได้รับข้อผิดพลาดต่อไปนี้:
CMD ไม่รองรับเส้นทาง UNC เป็นไดเรกทอรีปัจจุบัน
ตัวเลือกของฉันในการนำทางไปยังไดเรกทอรีนั้นมีอะไรบ้าง
ฉันพยายามเปลี่ยนไดเรกทอรีเป็นไฟล์เซิร์ฟเวอร์เช่น:
cd \\someServer\\someStuff\
อย่างไรก็ตามฉันได้รับข้อผิดพลาดต่อไปนี้:
CMD ไม่รองรับเส้นทาง UNC เป็นไดเรกทอรีปัจจุบัน
ตัวเลือกของฉันในการนำทางไปยังไดเรกทอรีนั้นมีอะไรบ้าง
คำตอบ:
หากคุณกำลังพิจารณาการเขียนสคริปต์มันเป็นประโยชน์เสมอที่จะเรียนรู้เกี่ยวกับpushd
และpopd
คำสั่ง บางครั้งคุณไม่สามารถแน่ใจได้ว่าตัวอักษรไดรฟ์ที่ใช้อยู่ในเครื่องที่สคริปต์จะทำงานและคุณเพียงแค่ต้องใช้ตัวอักษรไดรฟ์ที่มีอยู่ถัดไป เนื่องจากnet use
จะทำให้คุณต้องระบุไดรฟ์คุณสามารถใช้pushd \\server\folder
และจากนั้นpopd
เมื่อคุณดำเนินการเสร็จสิ้น
popd
?
คุณสามารถใช้net use
ในการแมปไดรฟ์เครือข่ายกับเส้นทาง UNC แล้วเรียกดูไดรฟ์ที่แมป
คำอธิบายของ pushd อีกเล็กน้อยที่นี่: http://shortfastcode.blogspot.com/2010/05/how-to-deal-with-cmd-does-not-support.html
เช่นเดียวกับการแมปไดรฟ์อย่างชัดเจนเพื่อให้cmd
สามารถรับมือได้ซึ่งสาธารณูปโภคอื่น ๆ อาจต้องการเช่นกันคุณสามารถลองใช้เชลล์คำสั่งทางเลือกเช่น PowerShell
สิ่งนี้ใช้ได้กับฉันใน Win8x64:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"DisableUNCCheck"=dword:00000001
คุณควรจะทำสิ่งนี้ใน HKCU ด้วยเช่นกันเพียงตรวจสอบให้แน่ใจว่าคุณออกจากระบบและกลับมาใหม่อีกครั้ง
ตาม @ pk ใช้ pushd & popd นี่คือตัวอย่าง
ใช้ pushd เพื่อสร้างไดรฟ์เสมือนชั่วคราวและหลังจากทำ popd เพื่อลบไดรฟ์เสมือนชั่วคราว
: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
จะไม่ได้เป็นคำสั่งทางแยกการทำงานที่นี่?