2016-04-06 40 views
0

我有一个很奇怪的问题,一直拉我的头发。Powershell复制品问题

我有两个PowerShell脚本。 可以说主要和孩子。儿童脚本文件夹中mainfolder内:

Mainfolder\Main_script  
MainFolder\ChildFolder\child_script.ps1 

主脚本从那里位置可以改变运行。所以我拿到剧本的位置在一开始

$ScriptDir = (Get-Location).path 

我做了一些工作,包括复制其作品

copy-item -path $src -Destination $dst -force 

一切,直到这一点是很大的。 后来我打电话给我的孩子脚本

& "$scriptdir\childfolder\Child_script.ps1" 

脚本运行,我看到正在执行其他任务。但我有一些文件需要复制到子文件夹中。但该副本不适用于child_Script。 我甚至把

"Copying $src to $destination" | Out-file -append $logfile 

,我看到Copying C:\test\copythis.txt to C:\temp

在childscript的代码是这个

$Scriptdir = (Get-Location).path 
$src = "$Scriptdir\copythis.txt" 
$dst = "C:\temp" 
copy-item -path $src -Destination $dst -force 

如果我尝试在同一文件中的主要脚本复制,一切works.Why副本项目在子脚本中不起作用吗? 我还应该提到,一切都在使用系统帐户运行。所以没有权限问题。

任何帮助,将不胜感激。 干杯,

+0

你可以发布'child_script.ps1'的整个内容,或者至少是你尝试复制文件的部分吗?另外,你用'$ ScriptDir'做什么?请注意,这不是脚本所在的位置! –

+0

嗨Jisaak,代码很长,但基本上我上面发布的基本上是它的复制部分(编辑)。我想要复制的项目位于子文件夹中,因此我再次执行$ Scriptdir。感谢您的回复。 – Besiktas

回答

0

documentation

GET-位置
获取有关当前工作位置或位置堆栈的信息。

....

一开始定位cmdlet获取表示当前目录的对象,很像PWD(打印工作目录)命令。

如果要使用脚本所在的目录,请使用this StackOverflow question的答案。

+0

嗨Bas,Letme试试这个,回到你身边。感谢您的回复, – Besiktas