0
döndürür Her dizinin üzerinde döngü çalışıyorum ve daha sonra yürüteceğim bir powershell betiği için bir komut oluşturmak için çalışıyorum.for-Loop her zaman aynı dir
@echo off
del c:\temp\Pack*.log
FOR /d %%d in (C:\dev\BlubDev\Releases\*.*) DO (
set fullDir=%%d
set dirName=%fullDir:~24,100%
set tempLog=c:\temp\Pack%dirName%.log
set myvar=%%d\Tools\Build\BlubCreatePackageOnCentral.ps1
ECHO %myvar% ^> %tempLog%
)
Ancak neden her zaman aynı (belki de en son bulunan) dir yazdırılıyor? Tam olarak bu neden gerekli olduğunu
açıklayabilir gerek? – Jannik
@Jannik - linkte açıklanmıştır. Satır ayrıştırıldığında,% '% bir şey%' gibi değişkenler derhal değiştirilir. Scripts, parantez bloklarını tek satırlık ifadeler olarak alır. Gecikmeli genişleme ile değişkenler, uygulamadan hemen önce (yani ayrıştırma ile karşılaştırıldığında gecikmiş) değiştirilir, böylece yeni değerler dikkate alınır. – npocmaka
Tamam. Anladım. Anlamadım ve bağlantı ile. – Jannik