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

  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • Palmundo Ec

    Palmundo Ec

    11 HAZİRAN 2009
  • vgeller1

    vgeller1

    22 Kasım 2009