উত্তর:
উদাহরণস্বরূপ নিম্নলিখিতটি সংরক্ষণ করুন। 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:
ইত্যাদি ড্রাইভ পরিবর্তন।
আপনি পুশড এবং পপড ব্যবহার করতে পারেন:
সি: \ উইন্ডোজ> ধাক্কা \ সি: \> popd C: \ Windows>
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 *
আপনি এ বিশ্বাস করেন কিন্তু ... খুব দেরী হয়ে গেছে, আপনার সমস্ত হোম ডিরেক্টরি চলে গেছে।
আপনি যদি বাশের সঠিক আচরণ চান তবে বাশ ব্যবহার করবেন না কেন? আমি সাইগউইন ইনস্টল করেছি এবং এটি খুব সুন্দর। এটি আপনাকে তার ইউনিক্স সরঞ্জামগুলিতে আটকে রাখে না - এটি আনন্দের সাথে কোনও উইন্ডোজকে এক্সিকিউটেবল হিসাবে ডেকে আনবে। জন্য 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 -
নামক কমান্ড কনসোল কমিক্স্ নিন ।
আপনার লক্ষ্যটি কিসের উপর নির্ভর করে আপনি 'সেমিডিডি' করে একটি নতুন সেন্টিমিডি সেশন শুরু করতে পারবেন, ডিরেক্টরি সরিয়ে নিয়ে আপনি যা চান তা করতে পারবেন, যখন আপনি যখন সেশনটি ছাড়তে 'প্রস্থান' করবেন তখন আপনি যে ডিরেক্টরিতে ছিলেন সেই ডিরেক্টরিতে ফিরে আসবেন আপনি নতুন অধিবেশন শুরু করেছেন।
গৃহীত উত্তরটি প্রয়োজনের জন্য খুব দুর্দান্ত। যদিও আমাকে প্রায়শই কেবল দুটি (বর্তমান এবং পূর্ববর্তী) এর পরিবর্তে অনেকগুলি সাম্প্রতিক ডিরেক্টরিগুলির মধ্যে স্যুইচ করতে হয়।
তাই আমি আমার দৈনন্দিন কাজগুলি আরও সহজ করার জন্য সম্প্রতি একটি ব্যাচ তৈরি করেছি। https://gist.github.com/programus/2d2738b2a746140186f7738b678bdcec
cdx :
। ধন্যবাদ! এটি শীর্ষ উর্ধ্বতন উত্তর হওয়া উচিত।
আমি যা করি তা হ'ল
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%