Geçerli çalışma dizininin tam yolunu almak için kullanabileceğim bir Windows komut satırı komutu var mı?
Ayrıca, bu yolu bir toplu iş dosyasında kullanılan bir değişkenin içinde nasıl saklayabilirim?
Geçerli çalışma dizininin tam yolunu almak için kullanabileceğim bir Windows komut satırı komutu var mı?
Ayrıca, bu yolu bir toplu iş dosyasında kullanılan bir değişkenin içinde nasıl saklayabilirim?
Yanıtlar:
cdKabuğu doğrudan kullanıyorsanız veya %cd%bir toplu iş dosyasında kullanmak istiyorsanız (ortam değişkeni gibi davranır) bağımsız değişken olmadan kullanın .
Bir toplu iş / ortam değişkenini aşağıdaki gibi ayarlayabilirsiniz:
SET var=%cd%
ECHO %var%
Windows 7 x64 cmd.exe dosyasından örnek ekran görüntüsü.

Güncelleme:SET var = %cd% yerinebir şey yaparsanızSET var=%cd%, ne olur aşağıda. Jeb sayesinde.

SET var = %cd%değişkendeki değeri var<space>içine koymak gibi işe yaramaz var. SET komutundaki boşluklardan kaçınmalısınız
setKomut ( set /?) için Windows yardımını alıntılayın :
Komut Uzantıları etkinse, birkaç dinamik var
genişletilebilen ancak görünmeyen ortam değişkenleri
SET tarafından görüntülenen değişkenlerin listesi. Bu değişken değerler
değişkenin değeri her genişletildiğinde dinamik olarak hesaplanır.
Kullanıcı bu adlardan birine sahip bir değişkeni açıkça tanımlarsa,
bu tanım, aşağıda açıklanan dinamik olanı geçersiz kılar:
% CD% - geçerli dizin dizesine genişler.
% DATE% - DATE komutuyla aynı biçimi kullanarak geçerli tarihe genişler.
% TIME% - TIME komutuyla aynı biçimi kullanarak geçerli saate genişler.
% RANDOM% - 0 ile 32767 arasında rastgele bir ondalık sayıya genişler.
% ERRORLEVEL% - geçerli ERRORLEVEL değerine genişler
% CMDEXTVERSION% - geçerli Komut İşlemcisi Uzantılarına genişler
versiyon numarası.
% CMDCMDLINE% - çağrıyı başlatan orijinal komut satırına genişler
Komut İşlemcisi.
Parçayı not edin %CD% - expands to the current directory string..
Unix'te mi?
pwd
Bu benim için her zaman işe yaradı:
SET CurrentDir="%~dp0"
ECHO The current file path this bat file is executing in is the following:
ECHO %CurrentDir%
Pause
Pencereler için, cd kendi başına geçerli çalışma dizinini gösterecektir.
UNIX ve benzeri sistemler pwdiçin aynı görevi yerine getirecektir. $PWDKabuk değişkenini bazı kabukların altında da kullanabilirsiniz . Windows'un geçerli çalışma dizinini bir kabuk değişkeni aracılığıyla almayı destekleyip desteklemediğinden emin değilim.
%cd%
Windows'ta:
CHDIR Geçerli dizinin adını görüntüler veya değiştirir.
Linux'ta:
PWD Geçerli dizinin adını görüntüler.
Takip sorusuna dayanarak (verileri bir değişkente saklayın) chdir post yorumlarına göre bahse girerim, dizinleri değiştirdikten sonra geri yüklemek için mevcut yolu saklamak istiyor.
Orijinal kullanıcı dizini değiştiren ve geçerli olanı "popd" ile geri yüklenebilecek bir yığına iten "pushd" e bakmalıdır. Herhangi bir modern Windows cmd kabuğu üzerinde toplu iş dosyaları yaparken gitmek için bir yoldur.
Mevcut yolu gerçekten yakalamanız gerekiyorsa, modern cmd kabukları, referans için başka bir değişkende kolayca uzaklaştırabileceğiniz% CD% değişkenine de sahiptir.
.batAltında bir dosya oluşturun System32, bize copypath.batşu anki yolu kopyalama komutu olabilir :
echo %cd% | clip
Açıklama:
%cd% size mevcut yolu verecektir
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.
Şimdi copyclipher yerden erişilebilir.
@echo off
for /f "usebackq tokens=*" %%x in (`chdir`) do set var=%%x
echo The currenct directory is: %var%
Ancak, elbette , gmaran23'ün cevabı çok daha kolay.
tokens=*düzeltir.
Windows komut isteminde chdirveya cdkonsoldaki geçerli çalışma dizininin tam yolunu yazdırır.
Biz yolunu kopyalamak istiyorsanız o zaman kullanabilirsiniz: cd | clip.
Windows'ta, cdgeçerli çalışma yolunu yazın.
Linux'ta pwdgeçerli çalışma yolu için.