簡體   English   中英

使用字符串執行命令在powershell中不起作用

[英]Executing a command with string doesn't work in powershell

這是我的代碼,它不起作用:

$brisanje=dat.txt, dat2.txt
Remove-Item $brisanje

我在這里得到的錯誤是

Remove-Item:找不到路徑'C:\\ Users \\ stefan \\ Desktop \\ brisanjedat \\ dat.txt,dat2.txt'因為它不存在。

但是當我像這樣寫它時,它就像一個魅力:

Remove-Item dat.txt, dat2.txt

幾個小時我一直堅持這個問題,任何解決方案?

PowerShell解析器有兩種模式 ,具體取決於上下文。

參數模式上下文中(如Remove-Item dat.txt,dat2.txt ),它將裸字視為可擴展字符串列表。

表達式模式 (默認值)中,表達式開頭的單詞被視為命令,powershell將嘗試解析它,這就是您看到錯誤的原因。

使用引號確保解析器知道你的意思是dat1.txt,dat2.txt是一個字符串數組:

$brisanje="dat.txt","dat2.txt"

有關詳細信息,請參閱Get-Help about_Parsing的輸出

在代碼中使用點(。)源也是個好主意。 Shell和Scripts具有不同的范圍,當您點源變量時,將兩者結合起來。 我點了所有的東西,特別是如果我一遍又一遍地使用它或在不同的環境中使用它。

cd C:\\Users\\stefan\\Desktop\\brisanjedat\\ $brisanje= ".\\dat.txt",".\\dat2.txt" Remove-Item $brisanje

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM