(Öncelikle, toplu iş için bu yararlı referans sitesini tavsiye etmek istiyorum:
http://ss64.com/nt/ )
Sonra başka bir yararlı açıklama: http://htipe.wordpress.com/2008/10/09/the-dp0-variable/
% ~ Dp0 Değişkeni
Genişleyecek Windows toplu dosya içinde başvurulan zaman% ~ dp0 değişken (yani sıfır var) d rive harfi ve p o toplu dosyasının uyugulanmasıyla.
% 0-% 9 değişkenleri, toplu iş dosyasının komut satırı parametrelerini belirtir. % 1-% 9, toplu iş dosya adından sonraki komut satırı bağımsız değişkenlerine başvurur. % 0, toplu iş dosyasının kendisini ifade eder.
Yüzde karakterini (%) tilde karakteriyle (~) izlerseniz, değişkenin genişletilme şeklini değiştirmek için parametre numarasından önce bir değiştirici (ler) ekleyebilirsiniz. D değiştirici sürücü harfine genişler ve p değiştirici parametrenin yoluna genişler.
Örnek: Diyelim ki C: üzerinde bat_files adında bir dizininiz var ve bu dizinde example.bat adlı bir dosya var. Bu durumda,% ~ dp0 (d ve p değiştiricilerini birleştirerek) C: \ bat_files değerine genişler.
Tam açıklama için bu Microsoft makalesine göz atın .
Ayrıca, bu forum başlığına göz atın .
Ve buradan daha açık bir referans :
%CmdCmdLine% CMD.EXE'ye iletildiği gibi tüm komut satırını döndürür
%* ilk komut satırı bağımsız değişkeninden başlayarak komut satırının geri kalanını döndürür (Windows NT 4'te% * da tüm önde gelen boşlukları içerir)
%~dn % n geçerli bir yol veya dosya adı ise (UNC yok)% n sürücü harfini döndürür (n 0 ile 9 arasında değişebilir)
%~pn % n geçerli bir yol veya dosya adı ise (% UNC)% n dizinini döndürür
%~nn % n geçerli bir dosya adı ise, yalnızca% n dosya adını döndürür
%~xn % n geçerli bir dosya adı ise yalnızca% n dosya uzantısını döndürür
%~fn % n geçerli bir dosya adı veya dizinse% n tam yolunu döndürür
1 EKLE
Gizemli ~ tilde operatörü için iyi bir referans buldum .
%~Dize denir yaklaşık işareti yüzde operatörü. Sen gibi durumlarda bulabilirsiniz: %~0.
:~Dize denir yaklaşık işareti kolon operatörü. Gibi bulabilirsiniz %SOME_VAR:~0,-1%.
2 EKLE - 13:12 19.07.2018
%1-%9komut satırı argümanlarına bakın. Böyle bir durumda değil geçerli bir yol değerleri, %~dp1- %~dp9tüm aynı değere genişleyecektir %~dp0. Onlar Ama eğer vardır geçerli bir yol değerleri, bunlar genişleyecek kendi sürücü / Yol değerinin.
Örneğin: (batch.bat)
@echo off
@echo ~dp0= %~dp0
@echo ~dp1= %~dp1
@echo ~dp2= %~dp2
@echo on
Çalışma 1:
D:\Workbench>batch arg1 arg2
~dp0= D:\Workbench\
~dp1= D:\Workbench\
~dp2= D:\Workbench\
2. Yarış:
D:\Workbench>batch c:\123\a.exe e:\abc\b.exe
~dp0= D:\Workbench\
~dp1= c:\123\
~dp2= e:\abc\