Ben bir toplu dosyasında bu çalıştırdığınızda:Batch FOR/D çıkışları kullanılamaz değerler?
for /d %%i in ("%SystemDrive%\Users\*") do (
set myvar=%%i\apple
set myvar=%myvar%\orange
)
My çıktı şuna benzer:
set myvar=C:\Users\Joe\apple
set myvar=\orange
set myvar=C:\Users\Bob\apple
set myvar=\orange
...
Ben set myvar=C:\Users\Joe\apple\orange
görmeyi bekliyorum. myvar
neden biriyle ayarlanmış olsa da boş bir değere sahip görünüyor? yorumların Başına
Bu klasik gecikmeli genişleme sorunudur. Http://stackoverflow.com/questions/10558316/example-of-delayed-expansion-in-batch-file adresine bakın. – bgoldst
@bgoldst "setlocal ENABLEDELAYEDEXPANSION" ifadesini eklemeye çalıştım ancak bu yardımcı olmadı. Toplu iş dosyasının beklediğim çıktıyı elde etmek için neye benzemesi gerekiyor? – Jason
Ayrıca, gecikmelerden ziyade gecikmeli açılmalarda ünlem işareti kullanmalısınız. Böylece ikinci ödevin 'myvar =! Myvar!' Turuncu 'olarak ayarlanması gerekiyor. – bgoldst