การใช้พา ธ สัมพัทธ์สำหรับทางลัดของ Windows


48

ฉันมีรูปแบบโฟลเดอร์เช่น (รุ่นที่ง่ายมาก):

New Files
 >Tools
 >Scripts
Tested Files
 >Tools
 >Scripts

... และฉันต้องการมีทางลัดในแต่ละโฟลเดอร์จากโฟลเดอร์ย่อย "ไฟล์ใหม่" ไปยังโฟลเดอร์ย่อย "ไฟล์ทดสอบ" แต่โฟลเดอร์นี้อาจถูกย้ายเป็นครั้งคราวซึ่งจะทำลายทางลัดดังกล่าว

มีวิธีสร้างทางลัดแบบสัมพัทธ์กับแต่ละโฟลเดอร์หรือไม่? ฉันจำได้ว่าทำสิ่งนี้ในรูปแบบ HTML ซึ่งคุณสามารถกำหนดเส้นทางมีบางสิ่งบางอย่างในแนวที่.../Filesจะกลับไปที่แม่และจากนั้นเข้าไปในโฟลเดอร์ใหม่ แต่ฉันไม่แน่ใจว่านี่เป็นสิ่งที่สนับสนุนภายใต้ทางลัด Windows หรือไม่

PS: กรณีของทางลัดที่คล้ายกันเมื่อเป้าหมายคือไฟล์จะได้รับการจัดการในhttps://stackoverflow.com/questions/1169556/making-a-windows-shortcut-start-relative-to-where-the- โฟลเดอร์เป็น ในกรณีปัจจุบันเป้าหมายคือโฟลเดอร์


1
คุณลอง../Filesด้วยสองจุด? ฉันไม่ได้ใช้ Windows แต่ฉันคิดว่ามันใช้งานได้
Brian Z

1
นั่นเป็นสิ่งแรกที่ฉันพยายามขอบคุณ :(
Gary Morris


@ sancho.s - AFAIK คำตอบนั้นใช้ได้สำหรับการเรียกใช้ไฟล์. bat เท่านั้น สิ่งที่จำเป็นในที่นี้คือวิธีการอ้างถึงโฟลเดอร์แทน
ToolmakerSteve

@ToolmakerSteve - ฉันคิดว่าคุณตรวจสอบ / อ่าน "คำตอบที่นั่น" เพียงเผินๆ หนึ่งในนั้น ( stackoverflow.com/a/1751350/2707864 ) เป็นโซลูชันที่ได้รับการยอมรับที่นี่ 4 ปีขึ้นไป ฉันไม่ได้ลอง อีกหนึ่ง ( stackoverflow.com/a/29261618/2707864 ) เป็นครึ่งหลังของโซลูชันที่ยอมรับได้ที่นี่ คุณแสดงความคิดเห็นในเรื่องนั้น ฉันลองแล้วใช้งานได้ ไม่จำเป็นที่จะต้องแสดงความคิดเห็นอย่างถี่ถ้วน แต่ควรพยายามอย่าให้ผู้อ่านเข้าใจผิด
sancho.s

คำตอบ:


50

คุณสามารถใช้ประโยชน์นี้: ญาติ

โดยพื้นฐานแล้วมันสร้างทางลัดไปที่ "explorer.exe" ด้วยพารามิเตอร์ของพา ธ สัมพัทธ์ของคุณด้วยการคลิกขวา (เช่นเดียวกับที่คุณสร้างทางลัดปกติ)

แน่นอนคุณสามารถทำได้ด้วยตนเอง
ในตัวอย่างของคุณคุณจะสร้างทางลัดใน "New Files \ Tools" ถึง

%windir%\explorer.exe "..\..\Tested Files\Tools"

คุณสามารถใช้เมนูบริบท "ใหม่ / สร้างทางลัด" ตามปกติของ Windows สำหรับคำสั่งนี้และพิมพ์คำสั่งด้านบนใน "พิมพ์ตำแหน่งของรายการ" -box


ฉันได้อ่านเกี่ยวกับเรื่องนั้นในระหว่างการวิจัยก่อนหน้านี้ของฉัน แต่ฉันหวังว่าจะได้โซลูชันท้องถิ่นใน Explorer นี่จะเป็นแผนสำรองของฉัน
Gary Morris

เส้นทางสัมพัทธ์นี้จะยังคงเหมือนเดิมระหว่างระบบด้วยหรือไม่? หรือฉันจะต้องติดตั้ง Relative ถ้าฉันย้ายโฟลเดอร์ / เนื้อหาระหว่างระบบต่าง ๆ หรือไม่?
Gary Morris

3
"สัมพัทธ์" สร้างทางลัดโดยใช้มาตรฐาน "% windir% \ explorer.exe" เท่านั้นดังนั้นคุณไม่จำเป็นต้องสัมพันธ์กับระบบอื่น มันจะเหมือนกับการพิมพ์%windir%\explorer.exeก่อนเส้นทางสัมพัทธ์ในขณะที่ทำทางลัดมาตรฐาน ดังนั้นหากคุณทำสิ่งนี้ด้วยตนเองคุณจะไม่จำเป็นต้องมีความเกี่ยวข้องเลย (คุณเพียงแค่ต้องจำคำสั่งก่อนที่ทางญาติของคุณ)
Rik

ขอโทษฉันเข้าใจผิดว่าเป็นส่วนหนึ่งของการตอบครั้งแรกของคุณไม่ดีของฉัน! ขอบคุณมาก!
Gary Morris

2
วิธีแก้ปัญหาด้วยตนเองที่นี่ไม่ได้ผลสำหรับฉัน นอกจากนี้ฉันต้องเปลี่ยน "เริ่มต้น" จาก%windir%เป็นว่าง
notan3xit

30

ทางออกหนึ่งที่เป็นไปได้คือใช้ไฟล์แบตช์หนึ่งบรรทัดแทนการตัดสั้น ๆ เพื่อเปิดสิ่งที่คุณต้องการเปิด ไฟล์ชุดจะช่วยให้คุณใช้เส้นทางสัมพัทธ์ภายในตัวเองและจะมีไดเรกทอรีการทำงานของสิ่งที่โฟลเดอร์วางไฟล์ชุด


อีกทางเลือกหนึ่งคือให้ทางลัดของคุณเริ่มต้นcmd.exeแทนสิ่งที่คุณกำลังเรียกใช้จากนั้นผ่านสิ่งที่คุณกำลังจะเปิดตัวเป็นอาร์กิวเมนต์cmd.exe

ป้อนคำอธิบายรูปภาพที่นี่

%COMSPEC%เป็นจุดตัวแปรสภาพแวดล้อมคำสั่งพรอมต์โดยค่าเริ่มต้น

/C ทำให้คอนโซลปิดตัวเองหลังจากรันคำสั่ง


ขอบคุณมาก! สิ่งนี้ใช้ได้สำหรับฉัน ฉันใช้เวลาหลายชั่วโมงเพื่อให้ทางลัดของฉันใช้สคริปต์ power-shell ในไดเรกทอรีเดียวกัน
Shervin Shahrdar

มีประโยชน์สำหรับสถานการณ์ที่แตกต่างกันอย่างไรก็ตามคำถามไม่ได้เกี่ยวกับการเปิดไฟล์บางไฟล์ มันเกี่ยวกับความสามารถในการข้ามไปยังโฟลเดอร์ที่ระบุภายใน Windows Explorer มีวิธีที่จะปรับคำตอบนี้ให้ทำเช่นนั้น?
ToolmakerSteve

7

เคล็ดลับนี้ใช้งานได้:

% COMSPEC% / C เริ่มต้น "ชื่อ exe ของคุณแบบไม่มีพา ธ "

ตัวอย่าง

% COMSPEC% / C เริ่ม winmine.exe


2
โปรดอ่านคำถามอีกครั้งอย่างระมัดระวัง คำตอบของคุณไม่ตอบคำถามเดิม
DavidPostill

1
สำหรับ Win10 1607 ทางออกนี้จะตอบคำถามของ OP ได้อย่างสมบูรณ์แบบเป้าหมาย: %COMSPEC% /C "start GoogleChromePortable.exe -enableextensions -incognito"เริ่มต้นใน: [เว้นว่าง]
semtex41

@ semtex41 หืม? ฉันลองใช้และผลลัพธ์คือกล่องโต้ตอบข้อผิดพลาดบอกว่า "Windows ไม่พบ" GoogleChromePortable "สิ่งที่เกี่ยวข้องกับเป้าหมายของ OP ในการนำทาง Windows Explorer ไปยังโฟลเดอร์ที่ระบุ
ToolmakerSteve

@ToolmakerSteve ดีชื่อคือ "การใช้เส้นทางสัมพัทธ์สำหรับทางลัด Windows" และฉันก็ร่วมให้คำตอบก่อนหน้านี้ และเป้าหมายของ OP คือทำให้เส้นทางมีความยืดหยุ่นและคงที่ ดังนั้นเนื่องจากคำตอบของฉันคือวิธีที่ฉันสร้างทางลัดที่ดำเนินการในเส้นทางแบบไม่คงที่ฉันจึงเชื่อว่าคำตอบของฉันเหมาะสม
semtex41

@ semtex41- เป้าหมายที่ระบุไว้ของ OP คือ ".. ทางลัด .. ไปยังโฟลเดอร์ย่อย" Tested Files "child ถ้าคุณไม่ได้อธิบายวิธีการที่จะมีคำตอบนี้ประสบความสำเร็จที่แล้วโปรดอธิบายสิ่งที่คุณได้รับการเพิ่มคำตอบ ดูเหมือนว่าคุณเพิ่งยกตัวอย่างอีกวิธีการเรียกใช้ไฟล์. exe แต่คำตอบนั้นแสดงตัวอย่างเช่นนั้นแล้ว ดังนั้นโปรดระบุจุดที่คุณกำลังทำอีกครั้ง?
ToolmakerSteve

6

ฉันใช้โซลูชันที่คล้ายกันในแม่แบบที่เรียกใช้สภาพแวดล้อมการพัฒนาเว็บของฉัน (ไดเรกทอรีโครงการเปิดเบราว์เซอร์ที่เปิดใช้งาน WAMP เรียกใช้ SCSS ... )

ป้อนคำอธิบายรูปภาพที่นี่

ฉันสามารถส่งผ่านข้อโต้แย้งไปยังสคริปต์ค้างคาวของฉันและอื่น ๆ นี่คือเด็ด ตรวจสอบให้แน่ใจว่าได้ใส่/cอาร์กิวเมนต์หลังจากcmd.exe


2

คุณสามารถใช้mklink ช่วยให้คุณสร้างลิงก์สัญลักษณ์ฮาร์ดลิงก์และลิงก์ไดเรกทอรี

 mklink /d Tools "..\Tested Files\Tools"  (elevated command prompt)

หากไม่มีการยกระดับการเข้าถึงคุณสามารถใช้ / j

 mklink /j Tools "..\Tested Files\Tools"

หากต้องการเลื่อนไปตามโครงสร้างทั้งหมดคุณควรใช้คำสั่งxcopy ตัวอย่างเช่นหากโครงสร้างทั้งหมดอยู่ภายใต้คอนเทนเนอร์ :

container
   New Files
      <SYMLINKD> Scripts [..\Tested Files\Scripts]
      <SYMLINKD> Tools  [ ..\Tested Files\Tools]
   Tested Files    
      Scripts
      Tools

เข้าสู่คำสั่ง

 copy /b /e container container2

จะสร้างโครงสร้างต่อไปนี้:

container2
   New Files
      <SYMLINKD> Scripts [..\Tested Files\Scripts]
      <SYMLINKD> Tools  [ ..\Tested Files\Tools]
   Tested Files    
      Scripts
      Tools

/ bสวิทช์จะคัดลอกลิงก์สัญลักษณ์แทนการแปลงให้โฟลเดอร์


แต่ลิงก์นั้นจะยังคงถูกต้องหรือไม่หากชุดของโฟลเดอร์ถูกย้ายไปยังตำแหน่งอื่น
ToolmakerSteve

ต้องมีสิทธิ์ใช้งานที่ฉันไม่มีแม้ว่าจะดูเหมือนว่าจะทำงาน ... คุณจะโพสต์รูปภาพของคุณสมบัติทางลัดที่ได้รับเมื่อสร้างมันขึ้นมาได้หรือไม่
sancho.s

ลิงค์ถูกต้องแน่นอน ที่สามารถยืนยันได้ด้วยคำสั่ง "dir" ปัญหาคือว่าการกระทำ "คัดลอก", "ย้าย" และ "คัดลอก" ของตัวจัดการไฟล์จะทำลายโครงสร้าง ฉันได้แก้ไขคำตอบเพื่อรวมวิธีแก้ปัญหา
Krauss

1

ช็อตคัตสามารถบันทึกตำแหน่งของมันในตัวแปรและเรียกคำสั่งโดยใช้ตัวแปร ตัวอย่างเช่นสร้างทางลัด "ปู่ย่าตายาย" กับเป้าหมาย:

%windir%\system32\cmd.exe /c set HERE="%CD%" && "C:\Here.bat"

สร้างไฟล์แบตช์ "C: \ Here.bat" ด้วยบรรทัดเดียว:

@%windir%\explorer.exe /n,/select, %HERE%

ตอนนี้โฟลเดอร์ปู่ย่าตายายอะไรก็ตามเมื่อคุณคลิกมันพาเรนต์ของโฟลเดอร์พาเรนต์จะเปิดขึ้น มันทำงานร่วมกับปู่ย่าตายายในไดเรกทอรีราก

ไฟล์แบตช์ของคุณอาจใช้% HERE% ในการเริ่มต้นอย่างอื่นนอกเหนือจาก explorer.exe หรือแทนที่จะเป็น Here.bat หลังจาก && ในเป้าหมายทางลัดคุณสามารถเรียกโปรแกรมที่ใช้ประโยชน์ได้ที่นี่%

ในระบบของฉันปู่ย่าตายายดูเหมือนจะทำงานกับ & หรือ &&


1
&&ทำการโทรครั้งต่อไปเฉพาะเมื่อการโทรก่อนหน้าไม่ส่งคืนข้อผิดพลาดในขณะที่&ไม่สนใจ ในกรณีนี้ไม่ควรมีความแตกต่าง
leewz

1

หากคุณ'Start In'เว้นช่องว่างไว้ในคุณสมบัติของทางลัดลิงก์จะสัมพันธ์กับไดเรกทอรีการทำงานปัจจุบัน

ดูเพิ่มเติมที่ https://stackoverflow.com/a/17951772/40961


สิ่งนี้จะช่วยให้เป้าหมายของ OP ในการนำทาง Windows Explorer ไปยังโฟลเดอร์ที่ระบุได้อย่างไร
ToolmakerSteve

หากคุณมีปัญหาวิธีแก้ปัญหาก็สมเหตุสมผล ... ความคิดเห็นของคุณช่วยได้อย่างไรในทุกคำตอบ
David d C e Freitas

0

คุณสามารถสร้างตัวแปรสภาพแวดล้อมที่มีเส้นทาง (สัมพัทธ์) ไปยังโฟลเดอร์เป้าหมายหรือโฟลเดอร์ด้านบนในโครงสร้างระบบไฟล์

ตัวอย่าง:

  • ตัวแปรสภาพแวดล้อม:

    % Dropbox% = "C: \ Users \ ผู้ใช้ 1 \ Dropbox"

  • เป้าหมายทางลัด:

    "% Dropbox% \ Install \ สาธารณูปโภค \ file.exe"

คุณสามารถใช้คำสั่ง DOS SETX เพื่อสร้างตัวแปรสภาพแวดล้อม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.