การเพิ่ม. exe ไปยังเส้นทางเริ่มต้นโดยไม่ต้องเพิ่มไดเรกทอรี


22

ตัวอย่างเช่นฉันต้องการเพิ่มแผ่นจดบันทึก ++ ลงใน PATH ของฉันอย่างไรก็ตามไดเรกทอรียังมีuninstall.exeไฟล์อื่น ๆ อีกหลายไฟล์ / ไฟล์ที่เรียกใช้งานได้และฉันไม่ต้องการให้ "มลพิษ" พา ธ ของฉัน ฉันจะเพิ่มได้notepad++.exeไหม

คำตอบ:


17

คุณสามารถเพิ่มแบตช์สคริปต์ไปยังไดเรกทอรีที่อยู่ในเส้นทางของคุณซึ่งมีลักษณะดังนี้:

@echo off

:: Notepad++ execution

if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP
goto :START

:START
start "" /i "%ProgramFiles(x86)%\notepad++\notepad++.exe" %*
goto :EOF

:HELP
echo -------------------------------
echo Notepad++ Command Argument Help
echo -------------------------------
echo Usage :
echo.
echo notepad++ [--help] [-multiInst] [-noPlugins] [-lLanguage] [-nLineNumber] [-cColumnNumber] [-xPos] [-yPos] [-nosession] [-notabbar] [-ro] [-systemtray] [-loadingTime] [fullFilePathName]
echo.
echo     --help : This help message
echo     -multiInst : Launch another Notepad++ instance
echo     -noPlugins : Launch Notepad++ without loading any plugin
echo     -l : Launch Notepad++ by applying indicated language to the file to open
echo     -n : Launch Notepad++ by scrolling indicated line on the file to open
echo     -c : Launch Notepad++ on scrolling indicated column on the file to open
echo     -x : Launch Notepad++ by indicating its left side position on the screen
echo     -y : Launch Notepad++ by indicating its top position on the screen
echo     -nosession : Launch Notepad++ without any session
echo     -notabbar : Launch Notepad++ without tabbar
echo     -ro : Launch Notepad++ and make the file to open read only
echo     -systemtray : Launch Notepad++ directly in system tray
echo     -loadingTime : Display Notepad++ loading time
echo     -alwaysOnTop : Make Notepad++ always on top
echo     fullFilePathName : file name to open (absolute or relative path name)
echo.
goto :EOF

:EOF

notepad++.cmdคุณสามารถตั้งชื่อมัน ส่วนวิธีใช้ช่วยให้คุณรับข้อมูลเกี่ยวกับสวิตช์ได้อย่างง่ายดาย

ฉันใส่สคริปต์ดังกล่าวและโปรแกรมบรรทัดคำสั่งทั้งหมดลงในไดเรกทอรีซึ่งเพิ่มลงใน%PATH%: C:\Users\Public\Command\ ... และไดเรกทอรีนั้นจะถูกซิงค์กับคอมพิวเตอร์และเครื่องเสมือนทั้งหมด


8

สร้างไฟล์แบตช์ที่มีเนื้อหาดังต่อไปนี้:

@"C:\Program Files\Git\bin\git.exe" %*

นี้ควรได้รับการบันทึกเป็น.batไฟล์เช่นในไดเรกทอรีที่อยู่ในของคุณgit.batPATH

@ยับยั้งการสะท้อนคำสั่งไปยังเชลล์ที่เรียกใช้ ใบเสนอราคา""ป้องกันไม่ให้มีการตีความพื้นที่สีขาวเป็นตัวคั่นอาร์กิวเมนต์ %*วางอาร์กิวเมนต์ใด ๆ ลงในไฟล์แบทช์ไปยังไฟล์ปฏิบัติการที่เสนอราคาแทน

.batขณะนี้คุณสามารถเรียกใช้ปฏิบัติการส่วนหนึ่งของชื่อแฟ้มชุดก่อน gitในกรณีของฉัน

อ้างอิง:


สำหรับหลาย ๆ โปรแกรมที่จะวางสาย CMD จนกว่าคุณจะปิดมัน คุณต้องใช้startเพื่อหลีกเลี่ยงปัญหาดังที่แสดงในคำตอบของฉัน
Paradroid

@paradroid: ขอบคุณ แต่เป็นพฤติกรรมของเทอร์มินัลมาตรฐานที่จะคงอยู่กับผู้ปกครองเว้นแต่จะมีการถาม ผู้ใช้ควรทำstart gitแทนที่จะทำเพื่อพวกเขา สคริปต์ชุดจะทำหน้าที่ดีกว่าถ้ามันexecผ่านเข้าสู่กระบวนการที่ร้องขอ แต่นี้เป็นไปไม่ได้ใน Windows: serverfault.com/questions/315077/... ฉันสามารถเติมเงินได้callแต่มันจะอวดความรู้และไร้ประโยชน์เป็นส่วนใหญ่
Matt Joiner

3

ลากทางลัดที่จะไปnotepad++.exeC:\Windows\System32


หรือตามที่แนะนำโดย @Synetech inc. คุณสามารถวางทางลัดในไดเรกทอรีแยกต่างหาก (เช่นC:\Shortcuts) จากนั้นเพิ่มไดเรกทอรีนั้นลงใน%PATH%:

setx PATH "%PATH%;C:\Shortcuts"

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

setx PATHEXT %pathext%;.LNK

อ้างอิง:

ฉันจะเริ่มแอพพลิเคชั่นได้อย่างง่ายดายด้วยกล่องโต้ตอบเรียกใช้


1
นี่เป็นทางออกที่ต้องการ (ตรงข้ามกับไฟล์แบทช์); สร้างทางลัดในไดเรกทอรี (แตกต่าง) ในเส้นทาง - อย่าสร้างไดเรกทอรีของ Windows ให้สกปรก! Shortcutsฉันมีโฟลเดอร์เฉพาะสำหรับวัตถุประสงค์นี้เรียกว่า
Synetech

1
setxนั่นเป็นไวยากรณ์ผิด คุณไม่ได้ใช้เครื่องหมายเท่ากับและ IIRC คุณต้องใส่พา ธ ทั้งหมดในเครื่องหมายคำพูดหากกระแส%PATH%มีช่องว่างอยู่ (ซึ่งจะเป็น)
Paradroid

และไม่SETXใช้เครื่องหมายตัวหนอนแทนตัวแปรแทนร้อยละเพื่อหลีกเลี่ยงการขยายตัว? ฉันรู้ว่าเครื่องมือการตั้งค่า env-var ไม่ ...
Synetech

2
มันใช้งานไม่ได้ โดยค่าเริ่มต้น (ฉันกำลังลาก git.exe), "git - ทางลัด", การเปลี่ยนชื่อเป็นชุดของ "git.exe", "git", "git.cmd" ฯลฯ ไม่มีผล มันจะไม่ยอมรับทางลัด
Matt Joiner

3
ใช้งานได้เฉพาะเมื่อเรียกใช้จากRun Asกล่องโต้ตอบ แต่จะไม่ทำงานจากพรอมต์คำสั่ง
Matt Joiner

1

เพียงสร้างลิงค์สัญลักษณ์โดยใช้mklinkในโฟลเดอร์ใน Path

เช่น (ในพรอมต์คำสั่งของผู้ดูแลระบบ)

mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"

0

คีย์รีจิสทรีของ App Path ทำสิ่งนี้อย่างแน่นอน: ตั้งค่าพา ธ เป็น notepad ++. exe เป็น "\ program files \ ... " และคุณจะสามารถเปิดใช้งานได้จาก Start-Run, cmd, ... เช่นเดียวกับที่สามารถเรียกใช้งานได้จาก ไดเรกทอรีใน% PATH%

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

การอ้างอิง: /programming/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows


สิ่งนี้จะไม่ทำให้สามารถเรียกใช้งานได้จาก cmd - เฉพาะจาก start-run หรือใน cmd คุณต้องใส่คำนำหน้าด้วย "start" ใน "start myapp.exe"
Tahir Hassan

พรอมต์คำสั่งนี้ได้รับการยอมรับขาดความสามารถในการรับรู้ตัวแปรนี้ PowerShell จดจำได้ วิธีการแก้ปัญหาที่สำคัญกว่านี้ใช้กับไดเรกทอรีเท่านั้นและนอกหัวข้อ
Todd Partridge

0

ฉันไม่ชอบโซลูชันที่นำเสนอที่นี่ดังนั้นฉันจึงลองอย่างอื่น

  1. ติดตั้งส่วนขยายเชลล์ลิงก์ (ข้อมูลเพิ่มเติมที่นี่ )

  2. สร้างโฟลเดอร์ที่ใดที่หนึ่งในการจัดเก็บทางลัดของคุณทั้งหมดเช่นMarteen แสดงให้เห็น%PATH%และเพิ่มเข้าไปในของคุณ ฉันสร้างC:\Shortcutsและใช้Rapid Environment Editorเพื่อเพิ่มลงใน PATH ของฉัน

  3. คลิกขวาไฟล์ที่คุณต้องการเพิ่มไปยังเส้นทางของคุณ (ใน Explorer) และคลิก "เลือกแหล่งลิงก์"

  4. Drop As > Symbolink Linkคลิกขวาในโฟลเดอร์ที่คุณเพิ่งสร้างขึ้นและคลิก

  5. เปลี่ยนชื่อลิงค์สัญลักษณ์ถ้าคุณต้องการ

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

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