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

  • Karan Thakur

    Karan Thakur

    23 HAZİRAN 2010
  • LavcoPriceTech

    LavcoPriceTe

    21 AĞUSTOS 2010
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011