(Ö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-%9
komut satırı argümanlarına bakın. Böyle bir durumda değil geçerli bir yol değerleri, %~dp1
- %~dp9
tü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\