มีคำสั่ง / เครื่องมือใดนำทางไดเรกทอรีก่อนหน้าใน windows command prompt?
ใน linux มักจะใช้
cd -
สำหรับการนำทางไดเรกทอรีก่อนหน้า
มีคำสั่ง / เครื่องมือใดนำทางไดเรกทอรีก่อนหน้าใน windows command prompt?
ใน linux มักจะใช้
cd -
สำหรับการนำทางไดเรกทอรีก่อนหน้า
คำตอบ:
บันทึกสิ่งต่อไปนี้เพื่อเช่น mycd.bat
บางแห่งในเส้นทางของคุณ:
@echo off
if '%*'=='' cd & exit /b
if '%*'=='-' (
cd /d %OLDPWD%
set OLDPWD=%cd%
) else (
cd /d %*
if not errorlevel 1 set OLDPWD=%cd%
)
จากนั้นอย่าลืมใช้mycd
แทนcd
การเปลี่ยนไดเรกทอรีและไดรฟ์
หรือใช้doskey
มาโคร:
C:\>doskey cd=mycd $*
ข้อแม้เดียวคือถ้าคุณไม่ใช้ช่องว่างระหว่างcd
และ..
หรือ\
คุณจะได้รับรุ่น builtin ของcd
ไม่doskey
แมโคร ... และคุณยังคงต้องจำไม่ใช้C:
, D:
ฯลฯ มีการเปลี่ยนแปลงไดรฟ์
คุณสามารถใช้ pushd และ popd:
C: \ WINDOWS> pushd \ C: \> popd C: \ WINDOWS>
pushd/popd
คุณต้องนึกถึงความเป็นไปได้ของข้อผิดพลาด ในสคริปต์เมื่อคุณpushd
มีไดเรกทอรีที่ไม่มีอยู่มันจะไม่เสร็จสิ้นในสแต็ก แต่เมื่อคุณpopd
ออกจากระดับหนึ่ง: ตัวแปรไม่ถูกต้องผิดพลาดผิดพลาดไดรฟ์ผิด ... คุณคิดว่าอยู่ในไดเรกทอรีที่แตกต่างกัน จากสิ่งที่คุณเป็นอยู่กับปัญหาร้ายแรงเช่นเมื่อคุณลบไฟล์ / dirs ภัยพิบัติ (ไวยากรณ์ Linux): cd $HOME; mkdir A; pushd A; mkdir B; pushd D; do stuff (in A, you believe in B); popd; rm -rf *
คุณเชื่อใน A แต่ ... สายเกินไปไดเรกทอรีบ้านทั้งหมดของคุณหายไป
หากคุณกำลังเรียกใช้ไฟล์แบตช์คุณสามารถใช้
cd /D %~dp0
สิ่งนี้จะกระโดดกลับไปที่เส้นทางเดิมจากที่ไฟล์แบตช์ถูกเรียกใช้
ถ้าคุณต้องการพฤติกรรมที่แท้จริงของการทุบตีทำไมไม่ใช้ทุบตี? ฉันติดตั้งcygwinแล้วและมันเยี่ยมมาก มันไม่ได้ทำให้คุณยึดติดกับเครื่องมือ UNIX - มันจะเรียกหน้าต่างใด ๆ ที่ปฏิบัติการได้อย่างมีความสุข สำหรับcmd.exe
builtins คุณสามารถสร้างนามแฝงได้:
hugh@comp07 ~/testdir
$ alias cm='cmd /c'
hugh@comp07 ~/testdir
$ cm dir
Volume in drive C has no label.
Volume Serial Number is AC2A-8378
Directory of C:\cygwin\home\hugh\testdir
18/05/2010 02:02 PM <DIR> .
18/05/2010 02:02 PM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 1,365,155,840 bytes free
hugh@comp07 ~/testdir
$
มีฟรีแวร์เป็นcmd
โคลนที่มีคุณสมบัติพิเศษรวมทั้งการcd -
เรียกใช้คำสั่งคอนโซล LE
คุณสามารถเริ่มเซสชั่น cmd ใหม่โดยทำ 'cmd' ย้ายไดเรกทอรีและทำทุกอย่างที่คุณต้องการเมื่อคุณออกจาก 'ออก' เพื่อออกจากเซสชั่นคุณจะกลับมาอยู่ในไดเรกทอรีที่คุณเคยทำเมื่อ คุณเริ่มเซสชันใหม่
คำตอบที่ยอมรับนั้นยอดเยี่ยมมากสำหรับความต้องการ ในขณะที่ฉันมักจะต้องสลับไปมาในหลาย ๆ ไดเรกทอรีล่าสุดแทนที่จะเป็นเพียงแค่สอง (ปัจจุบันและก่อนหน้า)
ดังนั้นเมื่อเร็ว ๆ นี้ฉันได้จัดทำแบทช์เพื่อให้งานประจำวันของฉันง่ายขึ้น https://gist.github.com/programus/2d2738b2a746140186f7738b678bdcec
cdx :
มาก ขอบคุณ! มันควรเป็นคำตอบ upvoted ด้านบน
สิ่งที่ฉันทำคือ
rem capture the path of the initial dir
set RET_DIR=%CD%
rem do stuff...
rem and then return to the initial dir
cd %RET_DIR%