由于我刚刚学习Powershell,我想编写一个简单的批处理脚本,它可以计算文本文件中的行数,并在最后将其打印到控制台窗口。我写了
Clear-Host
$counter=0
for /f %%j in (someText.txt) do (
$counter++
)
$counter
我在Powershell中运行脚本并收到以下错误:
'Clear-Host'未被识别为内部或外部命令,
可操作程序或批处理文件
'$ counter'不被视为内部或外部命令,
可操作程序或批处理文件
'$ counter ++'不被识别为内部或外部命令,
可操作程序或批处理文件。
这对我来说非常迷惑,因为当我在Powershell中输入“$ counter = 0”和“$ counter ++”等单独命令时,没有错误发生并且我得到了预期的行为:我初始化一个计数器变量,然后递增一个接一个。
另外,如何在Powershell中输入整个循环(或其他一些多行代码构造)?...像for /f %%j in (someText.txt) do ($counter++)
这样的单行输入它给了我
At line:1 char:4
+ for / f %% j in(someText.txt)do(
+〜
缺少开头'('关键字后''为'
在行:1 char:33
+ for / f %% j in(someText.txt)do(
+〜
在'('
在行:1 char:33
+ for / f %% j in(someText.txt)do(
+〜
在表达式中缺少关闭')'
+ CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException
+ FullyQualifiedErrorId:MissingOpenParenthesisAfterKeyword
我也尝试过使用cmd.exe而不是Powershell - 我得到了上面描述的所有相同的问题。 知道如何让我的脚本做到它应该做的事情吗?