这是我的代码,它不起作用:
$brisanje=dat.txt, dat2.txt
Remove-Item $brisanje
我在这里遇到的错误是
删除项目:无法找到路径' C:\ Users \ stefan \ Desktop \ brisanjedat \ dat.txt,dat2.txt'因为它不存在。
但是当我这样写它时,它就像一个魅力:
Remove-Item dat.txt, dat2.txt
我已经坚持这个问题几个小时,任何解决方案?
答案 0 :(得分:5)
PowerShell解析器具有two modes,具体取决于上下文。
当处于参数模式上下文时(如Remove-Item dat.txt,dat2.txt
的情况),它将裸字视为可扩展字符串列表。
在表达式模式(默认值)中,表达式开头的单词被视为命令,而powershell将尝试解析它,这就是您看到错误的原因。
使用引号确保解析器知道您将dat1.txt,dat2.txt
视为字符串数组:
$brisanje="dat.txt","dat2.txt"
有关详细信息,请参阅Get-Help about_Parsing
的输出
答案 1 :(得分:1)
在代码中使用点(。)源也是个好主意。 Shell和Scripts具有不同的范围,当您点源变量时,将两者结合起来。我点了所有的东西,特别是如果我一遍又一遍地使用它或在不同的环境中使用它。
cd C:\Users\stefan\Desktop\brisanjedat\
$brisanje= ".\dat.txt",".\dat2.txt"
Remove-Item $brisanje