উইন্ডোজ কমান্ড প্রম্পটে পূর্ববর্তী ডিরেক্টরিতে নেভিগেট করুন


38

উইন্ডোজ কমান্ড প্রম্পটে পূর্ববর্তী ডিরেক্টরিতে নেভিগেট করার জন্য কি কোনও কমান্ড / সরঞ্জাম রয়েছে?

লিনাক্সে সাধারণত ব্যবহার করুন

cd -

পূর্ববর্তী ডিরেক্টরি নেভিগেশন জন্য।

উত্তর:


24

উদাহরণস্বরূপ নিম্নলিখিতটি সংরক্ষণ করুন। 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:ইত্যাদি ড্রাইভ পরিবর্তন।


দেখে মনে হচ্ছে এটি কাজ করা উচিত নয়, তবে তা করে। OLDPWD সঠিকভাবে সেট হয়ে যায়।
হিউ অ্যালেন

1
+1 এটি দুর্দান্ত, এটি কাজ করে! তবে মাইসিডি (বা হোয়াইটভিআর) ব্যবহার করা বেদনাদায়ক

@ হাগলেন সিডি এবং সিডির জন্য একটি ডসকি ম্যাক্রো তৈরি করতে পারে .. ডসকি সিডি \ = সিডি \ বা ডসকি সিডি \ = সি: \ মাইসিডি.বাট \ ডসকি সি: = সি: \ মাইসিডি.বাট সি:
বারলপ

সেই ব্যাটটি সি: lah ব্লাহ.ব্যাট% ইউএসপিপ্রফিল% এর জন্য ব্যর্থ হবে (সুতরাং সিডি বা সিডিডি% ব্যবহারকারীপ্রফাল% ব্যর্থ হবে)। ঠিক করতে, একক উদ্ধৃতিগুলিকে ডাবল কোটে পরিবর্তন করুন।
বারলপ

37

আপনি পুশড এবং পপড ব্যবহার করতে পারেন:

সি: \ উইন্ডোজ> ধাক্কা \
সি: \> popd
C: \ Windows>

থেক্স জন, তবে এটি ঠিক আমি যা খুঁজছি তা নয়।
ukanth

2
আমি আমার ব্যাচের স্ক্রিপ্টগুলির জন্য ঠিক এটি চাই, ধন্যবাদ। এটি এমনকি \ ডি
সুইচটির

2
সতর্কবাণী দিয়ে pushd/popdআপনি ত্রুটি সম্ভাবনা সহানুভূতিশীল আছে । কোনও স্ক্রিপ্টে যখন আপনি pushdযে ডিরেক্টরিটি বিদ্যমান নেই এটি স্ট্যাকের মধ্যে শেষ হবে না, তবে আপনি যখন popdএকটি স্তর থেকে বেরিয়ে যাবেন: ভেরিয়েবলটি সঠিকভাবে পূরণ করা হয়নি, ভুল বানান, ভুল ড্রাইভ ... আপনি ডিরেক্টরিতে আলাদা মনে করেন গুরুতর সমস্যার সাথে আপনি যেমন রয়েছেন, যেমন আপনি যখন ফাইল / ডায়ার মুছবেন তখন। বিপর্যয় (লিনাক্স সিনট্যাক্স): cd $HOME; mkdir A; pushd A; mkdir B; pushd D; do stuff (in A, you believe in B); popd; rm -rf * আপনি এ বিশ্বাস করেন কিন্তু ... খুব দেরী হয়ে গেছে, আপনার সমস্ত হোম ডিরেক্টরি চলে গেছে।
হস্তুর

4

আপনি যদি ব্যাচ ফাইল চালাচ্ছেন তবে আপনি ব্যবহার করতে পারেন

  cd /D  %~dp0

এটি ব্যাচের ফাইল যেখান থেকে চালিত হয়েছিল সেখান থেকে ফিরে আসবে path


4

আপনি যদি বাশের সঠিক আচরণ চান তবে বাশ ব্যবহার করবেন না কেন? আমি সাইগউইন ইনস্টল করেছি এবং এটি খুব সুন্দর। এটি আপনাকে তার ইউনিক্স সরঞ্জামগুলিতে আটকে রাখে না - এটি আনন্দের সাথে কোনও উইন্ডোজকে এক্সিকিউটেবল হিসাবে ডেকে আনবে। জন্য cmd.exebuiltins আপনি একটি ওরফে তৈরি করতে পারেন:

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                             
$ 

3

একটা বিনামূল্যের এর cmdঅতিরিক্ত বৈশিষ্ট্য সঙ্গে ক্লোন সহ cd -নামক কমান্ড কনসোল কমিক্স্ নিন

বিকল্প পাঠ


এটি কাজ করে না
ukanth

2
@ টিএনএস: ঠিক আছে আমি এটি চেষ্টা করেছিলাম এবং এটি আমার পক্ষে কাজ করে। এটা তোমার জন্য কি করেছে?
হিউ অ্যালেন

আমি কনসোল দিয়ে চেষ্টা করেছি (মূল উইন্ডো থেকে)
ukanth

1
@ টিএনএস: আপনি কী করেছেন সে সম্পর্কে আমি পরিষ্কার নই, তবে সম্ভবত এই স্ক্রিনশটটি সাহায্য করবে? (উত্তর আপডেট হয়েছে)
হিউ অ্যালেন

1

আপনার লক্ষ্যটি কিসের উপর নির্ভর করে আপনি 'সেমিডিডি' করে একটি নতুন সেন্টিমিডি সেশন শুরু করতে পারবেন, ডিরেক্টরি সরিয়ে নিয়ে আপনি যা চান তা করতে পারবেন, যখন আপনি যখন সেশনটি ছাড়তে 'প্রস্থান' করবেন তখন আপনি যে ডিরেক্টরিতে ছিলেন সেই ডিরেক্টরিতে ফিরে আসবেন আপনি নতুন অধিবেশন শুরু করেছেন।


1

গৃহীত উত্তরটি প্রয়োজনের জন্য খুব দুর্দান্ত। যদিও আমাকে প্রায়শই কেবল দুটি (বর্তমান এবং পূর্ববর্তী) এর পরিবর্তে অনেকগুলি সাম্প্রতিক ডিরেক্টরিগুলির মধ্যে স্যুইচ করতে হয়।

তাই আমি আমার দৈনন্দিন কাজগুলি আরও সহজ করার জন্য সম্প্রতি একটি ব্যাচ তৈরি করেছি। https://gist.github.com/programus/2d2738b2a746140186f7738b678bdcec


এটি টাইপ করা এত সহজ cdx :। ধন্যবাদ! এটি শীর্ষ উর্ধ্বতন উত্তর হওয়া উচিত।
AndreyWD

0

আমি যা করি তা হ'ল

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%
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.