Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Powershell中创建包含变量和文本的文件_Powershell - Fatal编程技术网

如何在Powershell中创建包含变量和文本的文件

如何在Powershell中创建包含变量和文本的文件,powershell,Powershell,我无法使用Powershell将变量为双倒逗号的文本输出到另一个文件。我已经批量完成了它,它工作了,但它没有与Powershell一起工作 例如: $name = Read-host -prompt "Enter your name" echo {Your name is "$name"} >name.txt pause 当我运行该文件时,变量将丢失其值。您可以尝试: $destination="C:\test\File2.txt&qu

我无法使用Powershell将变量为双倒逗号的文本输出到另一个文件。我已经批量完成了它,它工作了,但它没有与Powershell一起工作

例如:

$name = Read-host -prompt "Enter your name" 
echo {Your name is "$name"} >name.txt
pause
当我运行该文件时,变量将丢失其值。

您可以尝试:

$destination="C:\test\File2.txt"

$name=Read-Host -Prompt "Enter your name"

Set-Content -Path $destination -Value $name

Start-Sleep -Seconds 5
如果您仍想坚持您的代码:

$name = Read-host -prompt "Enter your name" 
echo "Your name is $name" >name.txt
pause
你可以尝试:

$destination="C:\test\File2.txt"

$name=Read-Host -Prompt "Enter your name"

Set-Content -Path $destination -Value $name

Start-Sleep -Seconds 5
如果您仍想坚持您的代码:

$name = Read-host -prompt "Enter your name" 
echo "Your name is $name" >name.txt
pause
这是由于正在创建一个新的。由于脚本块中没有太多实际内容,它将以字符串形式将其内容返回到管道中

作为旁注,“双倒逗号”通常称为“双引号”。使用专有名称可以更容易地在谷歌上搜索建议

解决方案是去掉脚本块。使用转义的
`“
双引号(Powershell的转义是反勾号)获取有关$name的引号

$name = Read-host -prompt "Enter your name" 
write-host "Your name is `"$name`"" >name.txt
这是由于正在创建一个新的脚本而导致的。由于脚本块中没有太多实际内容,它将以字符串形式将其内容返回到管道中

作为旁注,“双倒逗号”通常被称为“双引号”。使用适当的名称可以更容易地在谷歌上搜索建议

解决方案是去掉脚本块。使用转义的
`
双引号(Powershell的转义是反勾号)获取有关$name的引号。这样,

$name = Read-host -prompt "Enter your name" 
write-host "Your name is `"$name`"" >name.txt

这是因为它是一个脚本变量。Powershell中有不同的作用域。他们是
$Private:variable
$Script:variable
$Local:variable
$Global:variable


如果要在Powershell终端中运行脚本后调用变量,则需要编写
$Global:name
。否则它的作用域将是脚本的
$Local

,这是因为它是一个脚本变量。Powershell中有不同的作用域。他们是
$Private:variable
$Script:variable
$Local:variable
$Global:variable

如果要在Powershell终端中运行脚本后调用变量,则需要编写
$Global:name
。否则,它的范围将是脚本的
$Local