“ ลงทะเบียน”. exe เพื่อให้คุณสามารถเรียกใช้ได้จากบรรทัดคำสั่งใด ๆ ใน Windows


152

คุณจะทำให้ไฟล์. exe สามารถเข้าถึงได้จากตำแหน่งใด ๆ ในหน้าต่างคำสั่ง Windows ได้อย่างไร มีรายการรีจิสทรีที่ต้องป้อนหรือไม่?


คำตอบ:


97

คุณต้องตรวจสอบให้แน่ใจว่า exe อยู่ในโฟลเดอร์ที่อยู่ในPATHตัวแปรสภาพแวดล้อม

คุณสามารถทำได้โดยการติดตั้งลงในโฟลเดอร์ที่มีอยู่แล้วในที่หรือโดยการเพิ่มโฟลเดอร์ของคุณไปPATHPATH

คุณสามารถให้ตัวติดตั้งทำเช่นนี้ - แต่คุณจะต้องรีสตาร์ทเครื่องเพื่อให้แน่ใจว่ามันจะถูกหยิบขึ้นมา


คำตอบนี้เป็นคำตอบที่ผิดทุกครั้ง อย่างน้อยที่สุดมันก็ไม่สมบูรณ์ โดยเฉพาะวิธีการนี้ใช้งานได้ดีสำหรับการติดตั้ง แต่ไม่ดีสำหรับการถอนการติดตั้ง โปรแกรมถอนการติดตั้งส่วนใหญ่จะคัดออกตัวแปร PATH ทั้งหมดเมื่อถอนการติดตั้งแอปพลิเคชันที่เกี่ยวข้องกับสิ่งนี้ ดังนั้นหากคุณเขียนแอ็คชันการติดตั้งเพื่อเพิ่ม dir ไปยัง PATH คุณควรทำให้เป็นแอ็คชันการติดตั้งแบบ CUSTOM ที่ไม่ได้ถอนการติดตั้งโดยอัตโนมัติโดยแพ็กเกจการลบทั่วไป จากนั้นจับคู่ขั้นตอนการติดตั้งแบบกำหนดเองนั้นกับขั้นตอนถอนการติดตั้งซึ่งจะลบเฉพาะ dir ของคุณจากตัวแปร PATH
Kim Gentes

21
@KimGentes ดีนั่นเป็นปัญหากับโปรแกรมถอนการติดตั้ง โปรแกรมถอนการติดตั้งที่ดีควรเป็นระเบียบเรียบร้อยขึ้น มันไม่ได้ทำให้คำตอบผิด
ChrisF

3
ฉันเห็นด้วย .. มันเป็นปัญหากับตัวติดตั้ง แต่เนื่องจากตัวติดตั้งทั้งหมดทำสิ่งนี้กับตัวแปร (พวกเขาไม่แยกวิเคราะห์และแยกส่วนของรายการรีจิสตรีหรือตัวแปร ENV) ดูเหมือนว่าจะอธิบายอย่างรอบคอบ หากปฏิบัติตามคำแนะนำอย่างถูกต้องพวกเขาจะพบปัญหานี้เสมอซึ่งหมายความว่าวิธีแก้ปัญหาอาจรวมถึงคำเตือนนั้นเสมอ ไม่มีแพ็คเกจการติดตั้งดูแลการติดตั้งและถอนการติดตั้งส่วนของรายการ Registry หรือตัวแปร ENV ที่ฉันรู้ถึงแม้ว่าโปรดแจ้งให้เราทราบหากมีบางอย่างที่ฉันไม่ทราบ
Kim Gentes

แทนที่จะ "ติดตั้ง" สิ่งแวดล้อมให้ใช้แบตช์ไฟล์ด้วยคำสั่ง SETX: SETX PATH "C: \ Windows" ----- และคุณทำเสร็จแล้ว
Stavm

3
SETX นั้นอันตรายเช่นกันเนื่องจากมีขีดจำกัดความยาวน้อยกว่าตัวแปร PATH เองและจะตัดทอนแทนการล้มเหลว
Ben Voigt

48

คุณสามารถเพิ่มคีย์รีจิสทรีต่อไปนี้:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\myexe.exe

ในคีย์นี้เพิ่มค่าสตริงเริ่มต้นที่ประกอบด้วยเส้นทางไปยังไฟล์ exe


1
@sherdim: ฉันสงสัยอย่างมากว่า อย่างไรก็ตามมันจะทำงานร่วมกับstartคำสั่งเพื่อให้คุณสามารถพิมพ์start myexeในพรอมต์ cmd.exe แต่myexeอย่างเดียวไม่ควรใช้งานได้ฉันคิดว่า (เว้นแต่คุณจะอยู่ในไดเรกทอรีของmyexeหรือไดเรกทอรีนั้นอยู่ในPATHตัวแปรสภาพแวดล้อม)
Andreas Rejbrand

ฉันสร้างmyprog.cmdไฟล์เล็ก ๆ ที่มีเนื้อหาต่อไปนี้: @START myprog.exe %*สิ่งนี้เรียกใช้App Pathsรายการmyprog.exeและส่งผ่านอาร์กิวเมนต์คำสั่งทั้งหมด ไฟล์ควรถูกสร้างขึ้นในที่ใดที่สามารถเข้าถึงได้PATH
Stavr00

1
@sherdim @ andreas-rejbrand ฉันสามารถยืนยันเรื่องนี้ไม่ได้ทำงานบน Windows 10 ถ้า myexe PATHไม่ได้อยู่ใน start myexeทำงานกับการเปลี่ยนแปลงรีจิสทรีนี้โดยไม่ต้องเพิ่ม myexe PATHไป
davenpcj

@davenpcj: แน่นอน คีย์รีจิสทรีที่ฉันกล่าวถึงเกี่ยวข้องกับเชลล์ของ Windows ไม่ใช่ไปที่พรอมต์คำสั่ง ใช้start myappงานได้ดีเช่นเดียวกับ Win + R myappแต่ไม่ใช่แบบธรรมดาmyappใน cmd.exe
Andreas Rejbrand

1
คีย์นี้ทำงานเพื่อเรียกใช้จาก Explorer.exe หากคุณลองจาก CMD.exe จะไม่พบ
prampe

41

คุณต้องใส่.exeเส้นทางของไฟล์ของคุณลงในเส้นทางตัวแปรสภาพแวดล้อม ไปที่ "My Computer -> properties -> advanced -> environment environment -> Path" และแก้ไข path โดยเพิ่ม.exeไดเรกทอรีของพา ธ

อีกวิธีที่ฉันชอบคือใช้RapidEEสำหรับการแก้ไขตัวแปรที่นุ่มนวลขึ้น


39

Windows 10, 8.1, 8

เปิดเมนูเริ่มต้น

  1. ชนิด Edit environment variables
  2. เปิดตัวเลือก Edit the system environment variables
  3. คลิกEnvironment variables...ปุ่ม
  4. ที่นั่นคุณเห็นสองกล่องในSystem Variablesกล่องค้นหาpathตัวแปร
  5. คลิก Edit
  6. หน้าต่างจะปรากฏขึ้นให้คลิก New
  7. พิมพ์เส้นทางไดเรกทอรีของคุณ.exeหรือbatchไฟล์ ( ไดเรกทอรีหมายถึงไม่รวมชื่อไฟล์จากเส้นทาง)
  8. คลิกOkบนหน้าต่างที่เปิดอยู่ทั้งหมดและเริ่มระบบของคุณ รีสตาร์ทคำสั่งพรอมต์

4
นี่เป็นคำตอบเดียวที่ช่วยฉัน ฉันจะเพิ่มว่า "เริ่มระบบใหม่" ไม่จำเป็น เพียงรีสตาร์ท cmd ก็เพียงพอแล้ว
Joffrey Baratheon

ด้วย WinKey + R และพิมพ์ SystemPropertiesAdvanced
prampe

29

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

ไฟล์แบตช์ดังกล่าวมีลักษณะดังนี้:

@echo off
start "" "C:\Program Files (x86)\Software\software.exe" %*

1
คุณคิดจะเพิ่มตัวอย่างของชุดไฟล์ - จะดีหรือไม่?
petermeissner

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

1
ปัญหาที่ฉันมีอยู่คือมันเริ่มเชลล์ใหม่ ฉันพยายามรับไบนารี cygwin เพื่อเปิดตัวในเชลล์เดียวกันซึ่งจะทำอย่างไรถ้าฉันอ้างอิงโดยตรงเป็นC:\cygwin\bin\grep.exe
โยฮัน

4
@Johann: เอาออกstart "" และเริ่มต้นด้วยพา ธ ไปที่ executable นอกจากนี้สำหรับใช้ใน cygwin คุณอาจต้องการเชลล์สคริปต์ cygwin หรือ symlink หรือชื่อแทนเชลล์
Ben Voigt

สมบูรณ์แบบขอบคุณ! ฉันเห็นด้วยกับตัวเลือกอื่น ๆ ของคุณสำหรับภายใน cygwin แต่ในกรณีนี้ฉันพยายามใช้ไบนารี cygwin จาก powershell
โยฮัน

5

มันวิเศษมากที่ไม่มีวิธีแก้ปัญหาง่ายๆสำหรับงานง่าย ๆ บน windows ฉันสร้าง cmd script เล็ก ๆ นี้ที่คุณสามารถใช้เพื่อกำหนด aliases บน windows (คำแนะนำอยู่ที่ส่วนหัวของไฟล์):

https://gist.github.com/benjamine/5992592

นี่เป็นวิธีการเดียวกับที่ใช้โดยเครื่องมือเช่น NPM หรือ ruby ​​gems เพื่อลงทะเบียนคำสั่งระดับโลก


5

สมมติว่า exe ของฉันคือ C: \ Program Files \ AzCopy \ azcopy.exe

คำสั่ง / CMD / แบทช์

SET "PATH=C:\Program Files\AzCopy;%PATH%"

PowerShell

$env:path = $env:path + ";C:\Program Files\AzCopy"

ตอนนี้ฉันสามารถพิมพ์และใช้azcopyจากที่ใดก็ได้จาก command command shell, powershell, git bash และอื่น ๆ


3
  • หากคุณต้องการให้เรียกใช้ภายใน cmd.exe หรือไฟล์แบทช์คุณต้องเพิ่มไดเรกทอรีที่. exe อยู่ในตัวแปร% path% ( ระบบหรือผู้ใช้ )
  • ถ้าคุณต้องการที่จะเรียกใช้มันในกล่องโต้ตอบ Run (Win + R) หรือแอปพลิเคชันใด ๆ ที่เรียกใช้ShellExecuteการเพิ่ม exe ของคุณไปยังคีย์พา ธของแอพนั้นเพียงพอ (นี่เป็นข้อผิดพลาดน้อยกว่า ตั้งค่าตัวแปรพา ธ )

3

คุณอาจจะเพิ่มอย่างถาวร (หลังจากรีบูต) ไปยังตัวแปรPathด้วยวิธีนี้:

คลิกขวาที่คอมพิวเตอร์ของฉัน -> คลิกคุณสมบัติ -> คลิกการตั้งค่าระบบขั้นสูง -> คลิกตัวแปรสภาพแวดล้อม

อ้างอิง: เปลี่ยนตัวแปรระบบ / ผู้ใช้



2

วางไว้ในไดเรกทอรี c: \ windows หรือเพิ่มไดเรกทอรีของคุณไปที่ "เส้นทาง" ในการตั้งค่าสภาพแวดล้อม (windows-break - แท็บขั้นสูง)

ขอแสดงความนับถือ // t


แทนที่จะใส่ executables ที่กำหนดเองลงไปC:\Windowsควรเพิ่มไดเรกทอรีที่กำหนดเองให้กับPATHตัวแปรสภาพแวดล้อม
Roland Illig

มันขึ้นอยู่กับ. Putty.exe ฉันใส่ใน / windows
Teson

1

ใช้ไฟล์แบตช์ 1 บรรทัดในการติดตั้งของคุณ:

SETX PATH "C:\Windows"

เรียกใช้ไฟล์ค้างคาว

ตอนนี้วาง. exe ของคุณใน c: \ windows แล้วเสร็จ

คุณสามารถพิมพ์ 'exename' ใน command-line และมันจะเรียกใช้


2
แทนที่จะใส่ executables ที่กำหนดเองลงไปC:\Windowsควรเพิ่มไดเรกทอรีที่กำหนดเองให้กับPATHตัวแปรสภาพแวดล้อม
Roland Illig

1

นามแฝงเหมือนทุบตีง่ายใน Windows

เพื่อให้ได้นามแฝงที่เหมือนทุบตีทั่วโลกใน Windows สำหรับแอปพลิเคชันที่ไม่ได้เพิ่มลงในพา ธ โดยอัตโนมัติโดยไม่ต้องเพิ่มแต่ละอันลงในพา ธ นี่คือคำตอบที่สะอาดที่สุดที่ฉันคิดขึ้นมา ความยืดหยุ่นสำหรับการปรับแต่งในภายหลัง:

"ติดตั้ง" เส้นทางนามแฝงของคุณ

mkdir c:\aliases
setx PATH "c:\aliases;%PATH%"

เพิ่มนามแฝงของคุณ

เปิดในหน้าต่างเชลล์ใหม่

ในการเริ่มต้นC:\path to\my program.exeส่งผ่านอาร์กิวเมนต์ทั้งหมดเปิดในหน้าต่างใหม่สร้างc:\aliases\my program.batไฟล์ที่มีเนื้อหาต่อไปนี้ (ดูคำสั่งเริ่ม NTสำหรับรายละเอียดเกี่ยวกับการเริ่มต้นคำสั่ง ):

@echo off
start "myprogram" /D "C:\path to\" /W "myprogram.exe" %*

ดำเนินการในหน้าต่างเชลล์ปัจจุบัน

ในการเริ่มต้นC:\path to\my program.exeส่งผ่านอาร์กิวเมนต์ทั้งหมด แต่รันในหน้าต่างเดียวกัน (คล้ายกับวิธีทุบตีทำงาน) สร้างc:\aliases\my program.batไฟล์ด้วยเนื้อหาต่อไปนี้:

@echo off
pushd "C:\path to\"
"my program.exe" %*
popd

ดำเนินการในหน้าต่างเชลล์ปัจจุบัน 2

หากคุณไม่ต้องการให้แอปพลิเคชันเปลี่ยนไดเรกทอรีการทำงานปัจจุบันเลยเพื่อให้สามารถใช้งานได้คุณสามารถเพิ่ม symlink ไปยังไฟล์ที่เรียกใช้งานได้ภายในโฟลเดอร์นามแฝงของคุณ:

cd c:\aliases\
mklink "my program.exe" "c:\path to\my program.exe"

0

เพิ่มไปที่ PATH ขั้นตอนด้านล่าง (Windows 10):

  1. พิมพ์แถบค้นหา "environment ... " และเลือกแก้ไขตัวแปรสภาพแวดล้อมระบบซึ่งเปิดหน้าต่าง System Properties
  2. คลิกปุ่มตัวแปรสภาพแวดล้อม ...
  3. ในแท็บตัวแปรสภาพแวดล้อมดับเบิลคลิกที่เส้นทางตัวแปรในส่วนตัวแปรระบบ
  4. เพิ่มพา ธ ไปยังโฟลเดอร์ที่มี. exe ไปยัง Path โดยดับเบิลคลิกที่บรรทัดว่างแล้ววางพา ธ
  5. คลิกตกลงและออก เปิดพร้อมท์ cmd ใหม่และกดคำสั่งจากโฟลเดอร์ใดก็ได้และควรใช้งานได้

0

วิธีอื่นอาจเป็นการเพิ่ม.LNKไปยัง $ PATHEX ของคุณ จากนั้นเพียงสร้างทางลัดไปยังไฟล์ที่เรียกใช้งานได้ (เช่น: yourshortcut.lnk) และใส่ลงในไดเรกทอรีใด ๆ ที่ระบุไว้ใน $ PATH

คำเตือนหมายเหตุ: รู้ว่าไฟล์. lnk ใด ๆ ที่อยู่ในไดเรกทอรีใด ๆ ที่ระบุไว้ใน $ PATH ของคุณตอนนี้เป็น "PATH'ed" เช่นกัน ด้วยเหตุนี้ฉันจะชอบวิธีการแบทช์ไฟล์ที่กล่าวถึงก่อนหน้านี้กับวิธีนี้


-1

หากมีใครกำลังมองหาสิ่งนี้หลังจากฉันที่นี่เป็นวิธีที่ง่ายมากในการเพิ่มเส้นทางของคุณ

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

พร้อมรับคำสั่งภาพเพื่อส่งออกเส้นทางไปยังไฟล์ข้อความ


ส่วนสำคัญของคำตอบควรเป็นข้อความไม่ใช่ภาพหน้าจอภายนอก
Roland Illig

-3

วิธีที่ดีที่สุดในการทำเช่นนี้คือติดตั้งไฟล์. EXE ลงในโฟลเดอร์ windows / system32 ด้วยวิธีนี้คุณสามารถเรียกใช้ได้จากทุกที่ ที่นี่เป็นที่เดียวที่สามารถพบคำสั่ง ping ได้


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