Powershell - 如何将变量分配给正在工作的目录

时间:2017-05-25 14:54:56

标签: powershell batch-file tfs2017

说明 我试图在Build Release上运行一个power shell脚本,要求用户输入他们的用户名和密码,然后将值输入到.pubxml文件中。 (我正在使用Powershell 4)

问题: .pubxml文件位于构建的工作目录中,因此我无法硬编码我想在循环或类似的东西中搜索.pubxml文件的工作目录的完整路径,如何找到Get-Childitem的目录即时工作?

更新  我正在尝试获取我的脚本所在的工作目录$testFiles = Get-ChildItem "WorkingDirectoryofSCript".我不想硬编码我想要找到路径的路径,然后将其分配给变量$testFiles。希望这更清楚

我知道如何在批处理脚本中执行此操作(可能不是最佳解决方案,但有效)

for %%* in (.) do set CurrentDirName=%%~nx*
echo CurrentDirName: %CurrentDirName%

If not "%CurrentDirName%" == "somefolder" (
echo "The current dir name is not somefolder"
cd..
Pause
Goto CheckDirName

)

我想在power shell中做类似的事情。

1 个答案:

答案 0 :(得分:2)

根据您正在使用的PowerShell版本,您可以使用以下命令:

PowerShell 3及更高版本

$PSScriptRoot

PowerShell 2

$currentDirectory = split-path -parent $MyInvocation.MyCommand.Definition

这将返回运行脚本的目录。