Sử dụng đường dẫn tương đối cho các phím tắt Windows


49

Tôi có một lược đồ thư mục như (phiên bản rất đơn giản):

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

... và tôi muốn có một lối tắt trong mỗi thư mục từ thư mục con "Tệp mới", đến thư mục con "Tệp đã kiểm tra". Nhưng thư mục này có thể được di chuyển theo thời gian, sẽ phá vỡ các phím tắt nói.

Có cách nào để tạo một lối tắt tương đối cho mỗi thư mục không? Tôi nhớ làm điều này trong HTML nơi bạn có thể đặt đường dẫn, một cái gì đó dọc theo dòng .../Filesđể quay lại cha mẹ và sau đó vào một thư mục mới, nhưng tôi không chắc liệu đây có phải là thứ gì đó hỗ trợ trong các phím tắt Windows không?

PS: Trường hợp các phím tắt tương đối tương tự, khi mục tiêu là một tập tin, được ghi thẳng vào https://stackoverflow.com/questions/1169556/making-a-windows-shortcut-start-relative-to-where-the- thư mục-là . Trong trường hợp hiện tại, mục tiêu là một Thư mục.


1
Bạn đã thử ../Files, với hai dấu chấm? Tôi không chạy Windows nhưng tôi nghĩ nó có thể hoạt động.
Brian Z

1
Đó là điều đầu tiên tôi đã cố gắng, cảm ơn. :(
Gary Morris


@ sancho.s - AFAIK, câu trả lời ở đó chỉ hoạt động để thực thi các tệp .bat. Những gì cần thiết ở đây là một cách để tham khảo một thư mục thay thế.
ToolmakerSteve

@ToolmakerSteve - Tôi đoán bạn chỉ kiểm tra / đọc "câu trả lời ở đó" một cách hời hợt. Một trong số đó ( stackoverflow.com/a/1751350/2707864 ) là giải pháp được chấp nhận ở đây, đó là một con người ca. 4 tuổi. Tôi đã không thử nó. Một số khác ( stackoverflow.com/a/29261618/2707864 ) là nửa sau của giải pháp được chấp nhận ở đây. Bạn thậm chí đã nhận xét về điều đó. Tôi đã thử nó và nó hoạt động. Không cần thiết phải kỹ lưỡng để đặt một bình luận, nhưng người ta nên cố gắng không gây hiểu lầm cho độc giả.
sancho.s

Câu trả lời:


50

Bạn có thể sử dụng tiện ích này: Tương đối .

Về cơ bản, nó tạo ra một lối tắt đến "explorer.exe" với tham số của đường dẫn tương đối của bạn bằng một cú nhấp chuột phải (giống như cách bạn tạo một lối tắt thông thường).

Tất nhiên bạn có thể làm điều này bằng tay.
Trong ví dụ của bạn, bạn sẽ tạo một lối tắt trong "Tệp mới \ Công cụ" để

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

Bạn có thể sử dụng menu ngữ cảnh thông thường "Mới / Tạo lối tắt" của Windows cho mục này và gõ lệnh trên vào "Nhập vị trí của mục" -box.


Tôi đã đọc về điều đó trong quá trình nghiên cứu trước đây, nhưng tôi hy vọng có một giải pháp tự nhiên trong Explorer. Đây sẽ là kế hoạch dự phòng của tôi, chúc mừng.
Gary Morris

Nhân tiện, con đường tương đối này sẽ giữ nguyên giữa các hệ thống chứ? Hoặc tôi sẽ cần Relative để được cài đặt nếu tôi di chuyển các thư mục / nội dung giữa các hệ thống khác nhau?
Gary Morris

3
"Tương đối" chỉ tạo lối tắt bằng cách sử dụng tiêu chuẩn "% Windir% \ explorer.exe", do đó bạn không cần Relative trên hệ thống khác. Nó sẽ giống như gõ %windir%\explorer.exetrước đường dẫn tương đối trong khi tạo một phím tắt tiêu chuẩn. Vì vậy, nếu bạn làm điều này bằng tay, bạn sẽ không cần Relative chút nào. (Bạn chỉ cần nhớ lệnh trước đường dẫn tương đối của bạn)
Rik

Ah xin lỗi, tôi đã hiểu nhầm rằng một phần của câu trả lời đầu tiên của bạn, xấu của tôi! Cám ơn rất nhiều!
Gary Morris

2
Các giải pháp thủ công ở đây không làm việc cho tôi ra khỏi hộp. Ngoài ra, tôi phải thay đổi "Bắt đầu" từ %windir%trống.
notan3xit

30

Một giải pháp khả thi là sử dụng tệp bó một dòng thay vì cắt ngắn để mở bất cứ thứ gì bạn muốn mở. Tệp bó sẽ cho phép bạn sử dụng các đường dẫn tương đối bên trong chính nó và sẽ có một thư mục làm việc của bất kỳ thư mục nào mà tệp bó được đặt vào.


Một tùy chọn khác là bắt đầu lối tắt của bạn cmd.exethay vì với bất cứ điều gì bạn đang khởi chạy sau đó vượt qua bất cứ điều gì bạn đang khởi chạy như là một đối số đểcmd.exe

nhập mô tả hình ảnh ở đây

%COMSPEC%là một biến môi trường trỏ đến dấu nhắc lệnh theo mặc định .

/C làm cho bàn điều khiển tự đóng lại sau khi nó thực thi lệnh.


Cảm ơn rât nhiều! Điều này làm việc cho tôi. Tôi đã dành hàng giờ để cố gắng để phím tắt của mình thực thi một tập lệnh power-shell trong cùng thư mục.
Shervin Shahrdar

Hữu ích cho một tình huống khác, tuy nhiên câu hỏi không phải là về việc mở một số tệp; đó là về việc có thể chuyển đến một thư mục được chỉ định trong Windows Explorer. Có cách nào để điều chỉnh câu trả lời này để làm như vậy không?
ToolmakerSteve

7

Thủ thuật này hoạt động:

% COMSPEC% / C bắt đầu "tên exe của bạn không có đường dẫn"

thí dụ

% COMSPEC% / C bắt đầu winmine.exe


2
Xin vui lòng đọc lại câu hỏi một cách cẩn thận. Câu trả lời của bạn không trả lời câu hỏi ban đầu.
DavidPostill

1
Đối với Win10 1607, giải pháp này trả lời hoàn hảo câu hỏi của OP, Target: %COMSPEC% /C "start GoogleChromePortable.exe -enableextensions -incognito"Start In: [để trống]
semtex41

@ semtex41 Hả? Tôi thử điều đó và kết quả là một hộp thoại báo lỗi cho biết "Windows không thể tìm thấy 'GoogleChromPortable'. Điều đó có liên quan gì đến mục tiêu của OP là điều hướng Windows Explorer đến một thư mục được chỉ định?
ToolmakerSteve

@ToolmakerSteve cũng tiêu đề là "Sử dụng các đường dẫn tương đối cho các phím tắt Windows" và tôi đã đóng góp cho câu trả lời được cung cấp trước đó. Và mục tiêu của OP thực sự là làm cho các đường dẫn động, so với tĩnh. Vì câu trả lời của tôi là cách tôi tạo một lối tắt thực thi trong một đường dẫn không tĩnh, tôi tin rằng câu trả lời của tôi phù hợp.
semtex41

@ semtex41- Mục tiêu đã nêu của OP là ".. một lối tắt .. đến thư mục con" Tệp đã kiểm tra ". Nếu bạn không giải thích làm thế nào để câu trả lời này hoàn thành điều đó, thì vui lòng làm rõ những gì bạn đã thêm vào câu trả lời. Có vẻ như bạn vừa đưa ra một ví dụ khác về cách thực thi tệp .exe. Nhưng câu trả lời đã cho thấy một ví dụ như vậy. Vì vậy, xin vui lòng nêu lại điểm bạn đang làm?
ToolmakerSteve

6

Tôi đang sử dụng giải pháp tương tự trong một mẫu chạy môi trường phát triển web của mình (thư mục dự án mở, trình duyệt mở, chạy WAMP, chạy SCSS ...)

nhập mô tả hình ảnh ở đây

Tôi có thể chuyển các đối số cho tập lệnh bat của tôi và vv, điều này thật tuyệt. Đảm bảo đặt /cđối số saucmd.exe


2

Bạn có thể sử dụng mklink . Nó cho phép bạn tạo các liên kết tượng trưng, ​​liên kết cứng và liên kết thư mục.

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

Nếu không có quyền truy cập cao, bạn có thể sử dụng / j

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

Để di chuyển xung quanh toàn bộ cấu trúc, bạn nên sử dụng lệnh xcopy . Ví dụ, nếu tất cả các cấu trúc đang được chứa :

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

nhập lệnh

 copy /b /e container container2

sẽ tạo cấu trúc sau:

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

Công tắc / b sẽ sao chép các liên kết Tượng trưng thay vì chuyển đổi chúng thành các thư mục.


Nhưng liên kết đó vẫn đúng, nếu bộ thư mục được chuyển đến một vị trí khác?
ToolmakerSteve

Điều này đòi hỏi những đặc quyền mà tôi không có, mặc dù có vẻ như nó sẽ thực hiện công việc ... Bạn có phiền khi đăng một hình ảnh của các thuộc tính Shortcut, sau khi nó được tạo không?
sancho.s

Các liên kết là thực sự chính xác. Điều đó có thể được xác nhận bằng lệnh "dir". Vấn đề là các hành động "sao chép-dán", "di chuyển" và "sao chép" của Trình quản lý tệp sẽ phá hủy cấu trúc. Tôi đã sửa đổi câu trả lời để bao gồm một cách giải quyết.
Krauss

1

Một phím tắt có thể ghi lại vị trí của nó trong một biến và gọi một lệnh bằng cách sử dụng biến đó. Ví dụ: tạo lối tắt "Grandparent" với mục tiêu:

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

Tạo tệp bó "C: \ Here.bat" bằng một dòng duy nhất:

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

Bây giờ, bất cứ thư mục nào Grandparent nằm trong, khi bạn nhấp vào nó, thư mục mẹ của thư mục mẹ sẽ mở ra. Nó thậm chí hoạt động với Grandparent trong một thư mục gốc.

Tệp bó của bạn có thể đã sử dụng% TẠI ĐÂY% để bắt đầu một cái gì đó ngoài explorer.exe. Hoặc thay vì Here.bat sau && trong mục tiêu phím tắt, bạn có thể gọi một chương trình sử dụng% TẠI ĐÂY%.

Trên hệ thống của tôi, Grandparent dường như hoạt động với & hoặc &&.


1
&&chỉ thực hiện cuộc gọi tiếp theo nếu cuộc gọi trước không trả về lỗi, trong khi &không quan tâm. Trong trường hợp này, không nên có sự khác biệt.
leewz

1

Nếu bạn để 'Start In'trống ô trong các thuộc tính của Phím tắt, các liên kết sẽ liên quan đến thư mục làm việc hiện tại.

Xem thêm https://stackoverflow.com/a/17951772 / 4061


Làm thế nào điều này giúp mục tiêu của OP trong việc điều hướng Windows Explorer đến một thư mục được chỉ định?
ToolmakerSteve

Nếu bạn có vấn đề thì giải pháp có ý nghĩa ... làm thế nào để bình luận của bạn giúp được mọi câu trả lời?
David d C e Freitas

0

Bạn có thể tạo một biến môi trường có chứa Đường dẫn (tương đối) đến thư mục đích hoặc một thư mục phía trên nó trong cấu trúc hệ thống tệp.

Thí dụ:

  • Biến môi trường:

    % Dropbox% = "C: \ Users \ Người dùng 1 \ Dropbox"

  • Mục tiêu tắt:

    "% Dropbox% \ Cài đặt \ Tiện ích \ File.exe"

Bạn có thể sử dụng lệnh DOS SETX để tạo các biến môi trường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.