ฉันจะตั้งค่าไดเรกทอรีการทำงานของไฟล์เรียกทำงานได้ผ่านบรรทัดคำสั่งก่อนดำเนินการได้อย่างไร


35

ถ้าฉันเรียกใช้โปรแกรมบนบรรทัดคำสั่งซึ่งมีการแก้ไขตำแหน่งผ่านตัวแปรสภาพแวดล้อมPathโดยทั่วไปไดเร็กทอรีการทำงานของโปรแกรมจะถูกตั้งเป็นไดเรกทอรีการติดตั้ง

ฉันต้องการเรียกใช้โปรแกรมดังกล่าวจากหน้าต่างคอนโซลและตั้งค่าไดเรกทอรีทำงานเป็นไดเรกทอรีปัจจุบันหรือไดเรกทอรีที่ชัดเจนอื่น ๆ ฉันสามารถทำสิ่งนี้ได้โดยการคัดลอกโปรแกรมไปยังไดเรกทอรีการทำงานของฉันชั่วคราว - มีวิธีอื่นที่จะทำสิ่งนี้ให้สำเร็จภายในสภาพแวดล้อม cmd.exe หรือ powershell.exe หรือไม่?

เชลล์ windows เปรียบเทียบกับงานนี้คือการสร้างทางลัดและตั้งค่าคุณสมบัติ "เริ่มต้นใน" ตามลำดับ

คำตอบ:


40

เมื่อต้องการตั้งค่าไดเรกทอรีการทำงานอย่างชัดเจนโซลูชัน PowerShell จะใช้Start-Processcmdlet กับ-WorkingDirectoryพารามิเตอร์

Start-Process -FilePath notepad.exe -WorkingDirectory c:\temp

การใช้นามแฝงstartพารามิเตอร์ตำแหน่งและชื่อพารามิเตอร์บางส่วนสามารถเขียนเป็น:

start notepad.exe -wo c:\temp

CMD ยังมีSTARTคำสั่ง สำหรับสิ่งนี้ใช้/Dพารามิเตอร์เพื่อระบุไดเร็กทอรีการทำงาน:

START /D c:\temp notepad.exe

6

ด้านล่างจะใช้งานได้ทำการทดแทนที่เหมาะสมและบันทึกด้วย.cmdส่วนขยาย

@echo off 
C:
chdir C:\desired\directory
C:\full\path\of\command.exe

ใส่แบทช์ไฟล์นี้ในไดเรกทอรีในของคุณ%PATH%และคุณควรจะสามารถเรียกใช้จากcmd.exeอินสแตนซ์ใด ๆ


1
โปรดทราบว่าความสนุกอาจเกิดขึ้นหากไดเรกทอรีการทำงานและการปฏิบัติการไม่ได้อยู่ในพาร์ทิชัน / ไดรฟ์เดียวกัน
MBraedley

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