SORU
28 AĞUSTOS 2010, CUMARTESİ


Yürütülen bir Powershell Komut bir Değişken depolanan

Yapı ve güç kabuğunda bir değişken depolanan bir komut var. Bu komut eğer host yazıp ve standart cmd.exe bir pencereye kopyala yaparsam bir işe yarıyor.

Nasıl benim komut dosyası içinde bu komutu çalıştırmak mı?

Çağırma komutu birkaç kombinasyon denedim veya ifade çağırmak hiç şans.

Bu değişken yaptım o kadar

$cmd1= $arcprg   $arcdir   "\"   $site1 "-" $hst "-" $yesterday ".zip " $logpath1 "u_ex" $yesterday ".log"

Bu değişkeni de ekrana yazdırılır gibi görünür:

7z.exe a -tzip c:\arc_logs\site-host-at-web1-100827.zip c:\inetpub\logs\logfiles\w3svc1\u_ex100827.log

CEVAP
29 AĞUSTOS 2010, Pazar


Burada iki değişken ile Invoke-Expression olmadan ama henüz başka bir yoludur (komut:string ve parametreleri:dizi). Benim için gayet iyi çalışıyor. Varsayalım 7z.exe sistem yolunda.

$cmd = '7z.exe'
$prm = 'a', '-tzip', 'c:\temp\with space\test1.zip', 'C:\TEMP\with space\changelog'

& $cmd $prm

Komut (7z.exe bilinen ve sadece parametreleri değişken olursa, o zaman bunu yapacağız

$prm = 'a', '-tzip', 'c:\temp\with space\test1.zip', 'C:\TEMP\with space\changelog'

& 7z.exe $prm

BTW benim için de işe yarıyor, örneğin bu işleri

$cmd = '& 7z.exe a -tzip "c:\temp\with space\test2.zip" "C:\TEMP\with space\changelog"'

Invoke-Expression $cmd

Daha kolay olduğu için P. S. ben genellikle parametre bir dizi ile bu yolu tercih Invoke-Expression için bir ifade oluşturmak için daha programlı olarak oluşturun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • laptopmag

    laptopmag

    25 Ocak 2008
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • Sparta Spartanutul

    Sparta Spart

    18 HAZİRAN 2013