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

  • ASUS Campus Life

    ASUS Campus

    18 Mart 2013
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010