أمر Windows Shell للحصول على المسار الكامل للدليل الحالي؟

StackOverflow https://stackoverflow.com/questions/607670

سؤال

هل يوجد أمر سطر أوامر Windows يمكنني استخدامه للحصول على المسار الكامل لدليل العمل الحالي؟

وأيضًا كيف يمكنني تخزين هذا المسار داخل متغير يستخدم في ملف دفعي؟

هل كانت مفيدة؟

المحلول

استخدم cd بدون وسائط إذا كنت تستخدم قذيفة مباشرة، أو %cd% إذا كنت ترغب في استخدامه في ملف دفعي (أنه يتصرف مثل متغير البيئة).

نصائح أخرى

ويمكنك تعيين دفعة متغير / البيئة كما يلي:

SET var=%cd%
ECHO %var%

وعينة قطة شاشة من CMD.EXE ويندوز 7 إلى x64.

على تحديث: إذا كنت تفعل SET var = %cd% بدلا من SET var=%cd%، وفيما يلي ما يحدث. وبفضل جيب.

<وأ href = "http://blogs.msdn.com/b/oldnewthing/archive/2005/01/28/362565.aspx" يختلط = "noreferrer" عنوان = "التقاط الدليل الحالي من ملف دفعي "> القبض على الدليل الحالي من ملف دفعة

اقتبس تعليمات Windows لـ set يأمر (set /?):

If Command Extensions are enabled, then there are several dynamic
environment variables that can be expanded but which don't show up in
the list of variables displayed by SET.  These variable values are
computed dynamically each time the value of the variable is expanded.
If the user explicitly defines a variable with one of these names, then
that definition will override the dynamic one described below:

%CD% - expands to the current directory string.

%DATE% - expands to current date using same format as DATE command.

%TIME% - expands to current time using same format as TIME command.

%RANDOM% - expands to a random decimal number between 0 and 32767.

%ERRORLEVEL% - expands to the current ERRORLEVEL value

%CMDEXTVERSION% - expands to the current Command Processor Extensions
    version number.

%CMDCMDLINE% - expands to the original command line that invoked the
    Command Processor.

لاحظ ال %CD% - expands to the current directory string. جزء.

في يونكس؟

والأشخاص ذوي الإعاقة

لقد عملت هذه دائما بالنسبة لي:

SET CurrentDir="%~dp0"

ECHO The current file path this bat file is executing in is the following:

ECHO %CurrentDir%

Pause

لويندوز يمكننا استخدام

وcd

وولينكس

وpwd

والأمر هناك.

لويندوز، سيتم cd في حد ذاته تظهر لك دليل العمل الحالي.

لUNIX وأنظمة workalike، سوف pwd أداء نفس المهمة. يمكنك أيضا استخدام متغير $PWD قذيفة تحت بعض القذائف. أنا لست متأكدا مما اذا كان يدعم ويندوز الحصول على دليل العمل الحالي عبر متغير قذيفة أم لا.

على نظام التشغيل Windows:

تشدير يعرض اسم الدليل الحالي أو يغيره.

في لينكس:

الأشخاص ذوي الإعاقة يعرض اسم الدليل الحالي.

واستنادا إلى متابعة مسألة (تخزين البيانات في متغير) في تصريحات لآخر تشدر أراهن انه يريد لتخزين المسار الحالي لاستعادته بعد changeing الدلائل.

ويجب على المستخدم الأصلي ننظر في "أوامر pushd"، والذي يتغير دليل ويدفع الحالي واحد على كومة التي يمكن استعادتها مع "popd". على أي كمد ويندوز الحديثة قذيفة وهذا هو الطريق للذهاب عندما جعل الملفات دفعة واحدة.

إذا كنت حقا بحاجة للاستيلاء على المسار الحالي ثم قذائف كمد الحديثة أيضا أن يكون٪ متغير٪ CD التي يمكنك الاشياء بسهولة بعيدا في متغير آخر للرجوع إليها.

@for /f "usebackq" %%x in (`chdir`) do set var=%%x
@echo "The currenct directory is: %var%"

ولكن، <م> بالطبع ، والإجابة gmaran23 هي أسهل بكثير.

إنشاء .bat الملف تحت System32, ، دعونا نسميها copypath.bat الأمر لنسخ المسار الحالي ممكن ان يكون:

echo %cd% | clip

توضيح:

%cd% سوف أعطيك المسار الحالي

CLIP

Description:
    Redirects output of command line tools to the Windows clipboard.
    This text output can then be pasted into other programs.

Parameter List:
    /?                  Displays this help message.

Examples:
    DIR | CLIP          Places a copy of the current directory
                        listing into the Windows clipboard.

    CLIP < README.TXT   Places a copy of the text from readme.txt
                        on to the Windows clipboard.

الآن copyclip متاح من كل مكان.

في ويندوز موجه الأوامر، chdir أو cd ستطبع المسار الكامل للدليل العمل الحالي في وحدة التحكم.

إذا كنا نريد لنسخ مسار ثم يمكننا استخدام: cd | clip

في ويندوز، نوع cd لمسار العمل الحالي.

في لينكس، pwd لمسار العمل الحالي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top