输出Powershell中变量定义的文件路径内的文件文本输入



我有一个powershell GUI脚本,它接受用户的简单输入。输入存储如下:

trackingnumber = "enter tracking number: " + $txtTrack.Text

我还有一个我想写的动态文件夹,它是根据用户输入命名的

folderOut = "\C:UsersnameDesktop" + $($txtTrack.Text)

我正在尝试将用户输入写入动态文件夹(folderOut(内的一个简单文本文件中

我尝试使用:$txtTrack.Text | out-file -FilePath ($folderOut + ($txtTrack.Text) + ".txt")

但是,它从不保存在它只保存在桌面上的$folderOut自定义文件夹路径内。如何将用户的输入保存在动态文件夹路径($folderOut(内的文本文件中

我看不出trackingnumber在您列出的命令中的使用位置,但如果GUI文本框是$txtTrack,并且您正在使用它作为跟踪号输入,那么以下内容应该可以工作。

$folderOut = "C:UsersnameDesktop" + $($txtTrack.Text)
$txtTrack.Text | out-file -FilePath ($folderOut + ".txt")

以前它是($folderOut + ($txtTrack.Text) + ".txt")。假设跟踪号是123,那么当您将文件路径中的$txtTrack.Text加倍时,输出文件会将123写入名为C:UsersnameDesktop123123.txt的文本文件中。

如果你有一个按钮或其他东西的OnClick事件,我建议你做一些错误检查,以确保文本框中有有效的文本。

最好使用Join-Path来连接目录。

folderOut = Join-Path -Path (Join-Path -Path $Env:USERPROFILE -ChildPath 'Desktop') -ChildPath $txtTrack.Text
$txtTrack.Text | Out-File -FilePath ($folderOut + ($txtTrack.Text) + ".txt")

最新更新