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:
cd
Kabuğ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
set
Komut ( 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 pwd
için aynı görevi yerine getirecektir. $PWD
Kabuk 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.
.bat
Altı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 copyclip
her 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 chdir
veya cd
konsoldaki geçerli çalışma dizininin tam yolunu yazdırır.
Biz yolunu kopyalamak istiyorsanız o zaman kullanabilirsiniz: cd | clip
.
Windows'ta, cd
geçerli çalışma yolunu yazın.
Linux'ta pwd
geçerli çalışma yolu için.