ฉันเปิด cmd (Windows 7) และฉันพิมพ์ "java.exe" และระบบค้นหาไฟล์ที่ปฏิบัติการได้ที่ c: \ program files \ java \ jre6 \ bin
อย่างไรก็ตามโฟลเดอร์นี้ไม่ได้อยู่ในเส้นทาง มีกลไกอื่นใดที่ส่งผลต่อการค้นหา exe?
ฉันเปิด cmd (Windows 7) และฉันพิมพ์ "java.exe" และระบบค้นหาไฟล์ที่ปฏิบัติการได้ที่ c: \ program files \ java \ jre6 \ bin
อย่างไรก็ตามโฟลเดอร์นี้ไม่ได้อยู่ในเส้นทาง มีกลไกอื่นใดที่ส่งผลต่อการค้นหา exe?
คำตอบ:
เริ่มตั้งแต่ Vista ขึ้นไปตอนนี้ Windows จะมียูทิลิตีที่เรียกว่า where
. โปรแกรมนี้ทำงานเหมือนกับที่คุณคาดหวังยูนิกซ์คู่กับ (ฉันดีใจที่พวกเขาเพิ่มมัน!)
การใช้งาน:
C:\>where java
C:\Windows\System32\java.exe
แม้แต่สิ่งที่ดีกว่าเกี่ยวกับ where
คือมันจะแสดงไฟล์ที่เรียกใช้งานทั้งหมดที่พบในพา ธ ของคุณดังนั้นหากคุณมี java.exe ใน C: \ Windows มันจะแสดงขึ้นมา ภายใต้ ที่ \ System32 \ one
แก้ไข
ฉันคิดว่าฉันยังมีตัวเลือกสำหรับผู้ใช้ XP ที่ต้องการใช้งานโดยไม่มีเครื่องมือของบุคคลที่สาม Raymond Chen เขียนสคริปต์คำสั่ง โปรแกรม "whereis" ขนาด 90 ไบต์ . มันเป็นหนึ่งในสายการบินที่ดีที่ประสบความสำเร็จในงานเดียวกัน!
@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
บันทึกสคริปต์ด้านบนในไฟล์. bat หรือ. cmd และคุณสามารถเปิดใช้งานได้จากบรรทัดคำสั่งด้วยชื่อไฟล์เป็นอาร์กิวเมนต์ มันจะทำงานเหมือนที่คุณคาดไว้! (โปรดทราบว่าหากใช้เวอร์ชันสคริปต์ให้ปล่อยส่วนขยายออกไปส่วนขยายนั้นจะค้นหาส่วนขยายที่ปฏิบัติการได้ทั้งหมดให้คุณ)
find
คำสั่งใน Unix (ซึ่งแตกต่างจาก find
คำสั่งใน DOS หรือ Windows) คุณทำได้ where -r \users\username\documents *.xl*
ตัวอย่างเช่น.
where.bat
และมันใช้งานได้เหมือน vista! :)
มีสำเนาของ java.exe ใน c: \ windows \ system32 (ซึ่งเป็นเส้นทางที่กำหนดไว้ในตัวแปรสภาพแวดล้อม) นั่นคือสิ่งที่เกิดขึ้นเมื่อคุณพิมพ์ java.exe ที่พรอมต์คำสั่งไม่ใช่อันใน c: \ program files \ java \ jre6 \ bin