2016-04-06 9 views
0

私は非常に奇妙な問題があり、私の髪を引き出しています。Powershellコピーアイテムの問題

2つのPowerShellスクリプトがあります。 メインと子供と言うことができます。子スクリプトはメインフォルダー内のフォルダーにあります。

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 

を入れて、私はchildscriptにCopying C:\test\copythis.txt to C:\temp

コードを参照してください、私はメインのスクリプトは、すべてで同じファイルをコピーしようとすると、この

$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

Hi Jisaak、コードは長いですが、基本的には私が上に投稿したのは、基本的にコピー部分(編集済み)のものです。私がコピーしたいアイテムは子フォルダにありますので、なぜ$ Scriptdirをもう一度やりますか?お返事をありがとうございます。 – Besiktas

答えて

0

documentationを読む:

のGet-場所
は、現在の作業場所や場所のスタックに関する情報を取得します。

....

は、Get-Locationコマンドレットは、多くのPWD(印刷作業ディレクトリ)コマンドのように、現在のディレクトリを表すオブジェクトを取得します。

スクリプトがあるディレクトリを使用する場合は、this StackOverflow questionの回答を使用してください。

+0

こんにちは、これを試してみましょう。お返事をありがとうございます、 – Besiktas

関連する問題