![](/img/trans.png)
[英]Using Powershell to recursively output folder contents to separate .txt files
[英]Naming a .txt file in powershell using output operator
我正在尝试创建一个变量,它将使用powershell中的输出运算符命名文本文件。 第一个例子是通常在没有变量(有效)的情况下完成的事情,第二个例子是我尝试这样做的方式(它不起作用)。
例I:
"hello" >> janice.txt
我们可以看到,示例I的结果将是一个名为janice.txt的文本文件
例II。
$i = "janice"
"hello" >> $i.txt
我期望从示例II得到的结果将是一个名为:janice.txt的文本文件,就像第一个示例一样,因为变量$ i存储字符串“janice”。
Powershell正在执行命令而没有错误,但没有创建.txt文件。 我试图弄清楚为什么它不起作用,如果有的话,它是完全无关紧要的。
这是我第一次提出问题,所以如果它是罗嗦而且含糊不清,我会事先道歉。
别人向我指出之后显而易见; $i.txt
正在进行属性查找。 像$i.Length
或$file.FullName
。
由于没有名为.txt
属性,因此查找返回$null
并且您的写入无处可执行"hello" > $null
。
证明:针对这两段代码运行PowerShell tokenizer,以了解它们在内部的处理方式:
[System.Management.Automation.PSParser]::Tokenize('"a" > janice.txt', [ref]$null) |
Select-Object Content, Type |
Format-List
Content : a
Type : String
Content : >
Type : Operator
Content : janice.txt
Type : CommandArgument
重定向运算符,左侧是字符串,右侧是命令参数。 比。
[System.Management.Automation.PSParser]::Tokenize('"a" > $i.txt', [ref]$null) |
Select-Object Content, Type |
Format-List
Content : a
Type : String
Content : >
Type : Operator
Content : i
Type : Variable
Content : .
Type : Operator
Content : txt
Type : Member
字符串和重定向运算符,右侧是(变量, .
运算符和'txt'作为成员)。
尝试这个:
"hello" >> "$i.txt"
:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.