0

PowerShell ISEを使用して、

Windowsエクスプローラーで.ps1ファイルをクリックして以下のファイルを開くと、緑色の矢印で実行すると機能します。[ファイル]->[同じファイルを開く]を使用する場合、緑色の矢印をクリックするとエラーが発生します。

クリックして開いてからロードすると問題ないので、ダブルクリックすると何か(パス?)が設定されますが、それは逆ではありません...

明確にしましょう...ファイルを一方の方法(ダブルクリック)で開くと「コンパイル」されますが、もう一方の方法(「ファイル」->「開く」)で開くと、まったく同じファイルは「コンパイル」されません。私はこれがなぜであるかを理解したいと思っています。私の推測では、必要な他のファイルを見つけるために使用するパス変数は、2つの開く方法で異なって設定されています(エラーの多くは「見つからない」ため)

これがファイルのコードです(基本的には外部のものの束を呼び出すだけです)

###########################################################
# RUN (hit the green arrow) TO INITIALIZE
############################################################

############################################################
# set defaults
$path = Get-Location    
$ProjectName = $path.Path 
$ProjectName = $ProjectName.Replace("D:\Project Files\", "")
$ProjectName = $ProjectName.Replace("\_Powershell", "")
$ProjectName = $ProjectName.Replace("\WebApp", "")
$ProjectName = $ProjectName.Replace("\Webapp", "")
write-host "Project Name found: "  $ProjectName 
$Project = $ProjectName 
$RootPath = 'D:\Project Files\' + $Project + '\WebApp'
$ModulePath = 'D:\Project Files\' + $Project + '\WebApp\_PowerShell'


############################################################
# call this one to remove and reload the modules (if modules are modified)
function ReloadTemplates {

    RemoveLoadedModule WPK
    RemoveLoadedModule JcdcAddFileToProjectGui
    RemoveLoadedModule JcdcEoAndMap
    RemoveLoadedModule JcdcEoAndMapGui
    RemoveLoadedModule JcdcDal
    RemoveLoadedModule JcdcDalGui
    RemoveLoadedModule JcdcBll
    RemoveLoadedModule JcdcBLLGui
    RemoveLoadedModule JcdcView
    RemoveLoadedModule JcdcViewGui
    RemoveLoadedModule JcdcController
    RemoveLoadedModule JcdcControllerGui
    RemoveLoadedModule JcdcAutoMap
    RemoveLoadedModule JcdcAutoMapGui
    RemoveLoadedModule JcdcReport
    RemoveLoadedModule JcdcReportGui
    RemoveLoadedModule JcdcCv
    RemoveLoadedModule JcdcCvGui
    RemoveLoadedModule ReadWriteXML

    # load the Templates
    LoadTemplates
}
function RemoveLoadedModule { 
    param($PathAndName) 

    if(Get-Module -name $PathAndName)
    { 
        Remove-Module $PathAndName
    } 
} 


############################################################
# call this one to load the modules
function LoadTemplates {

    Import-Module WPK
    Import-Module "$ModulePath\JcdcAddFileToProjectGui.psm1"
    Import-Module "$ModulePath\JcdcEoAndMap.psm1"
    Import-Module "$ModulePath\JcdcEoAndMapGui.psm1"
    Import-Module "$ModulePath\JcdcDal.psm1"
    Import-Module "$ModulePath\JcdcDalGui.psm1"
    Import-Module "$ModulePath\JcdcBll.psm1"
    Import-Module "$ModulePath\JcdcBLLGui.psm1"
    Import-Module "$ModulePath\JcdcView.psm1"
    Import-Module "$ModulePath\JcdcViewGui.psm1"
    Import-Module "$ModulePath\JcdcController.psm1"
    Import-Module "$ModulePath\JcdcControllerGui.psm1"
    Import-Module "$ModulePath\JcdcAutoMap.psm1"
    Import-Module "$ModulePath\JcdcAutoMapGui.psm1"
    Import-Module "$ModulePath\JcdcReport.psm1"
    Import-Module "$ModulePath\JcdcReportGui.psm1"
    Import-Module "$ModulePath\JcdcCv.psm1"
    Import-Module "$ModulePath\JcdcCvGui.psm1"
    Import-Module "$ModulePath\ReadWriteXML.psm1"

    Initialize-AddFileToProject $RootPath $Project
    Initialize-EOMAPGui $RootPath $Project
    Initialize-DALGui $RootPath $Project
    Initialize-BLLGui $RootPath $Project
    Initialize-ViewGui $RootPath $Project
    Initialize-ControllerGui $RootPath $Project
    Initialize-AutoMapGui $RootPath $Project
    Initialize-ReportGui $RootPath $Project
    Initialize-CVGui $RootPath $Project
    Initialize-XMLArguments
}


############################################################
# load the Templates on Run (when green arrow is clicked)
ReloadTemplates

コマンドウィンドウに次のいずれかを入力します

Select-A +=Select-AddFileToProject-プロジェクトに追加するファイルを作成するには

Select-B +=Select-BLLWhatToBuild-BLLを追加するには

Select-C +=Select-ControllerWhatToBuild-コントローラーを追加するには

Select-D +=Select-DALWhatToBuild-DALを追加するには

Select-E +=Select-EoAndMapBuild-Eoとマップを追加するには

Select-M +=Select-MapBuild-AutoMapを追加するには

Select-R +=Select-ReportWhatToBuild-レポートを追加するには

Select-Vi +=Select-ViewWhatToBuild-ビューを追加するには

Select-Vm + = Select-VmCvOrExcel-CV、VM、D:\PowerShellTemplatesArgsorExcelを追加するには

ここにエラーがあります

PS U:> D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1プロジェクト名が見つかりました:U:\ Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \JcdcAddFileToProjectGui.psm1'が読み込まれませんでしたどのモジュールディレクトリにも有効なモジュールファイルが見つからなかったためです。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:61 char:18 + Import-Module <<<< "$ ModulePath \ JcdcAddFileToProjectGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... ProjectGui .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcEoAndMap.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:62 char:18 + Import-Module <<<< "$ ModulePath \ JcdcEoAndMap.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... dcEoAndMap .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcEoAndMapGui.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:63 char:18 + Import-Module <<<< "$ ModulePath \ JcdcEoAndMapGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... oAndMapGui .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcDal.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:64 char:18 + Import-Module <<<< "$ ModulePath \ JcdcDal.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... ll \ JcdcDal.psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcDalGui.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:65 char:18 + Import-Module <<<< "$ ModulePath \ JcdcDalGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... JcdcDalGui .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcBll.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:66 char:18 + Import-Module <<<< "$ ModulePath \ JcdcBll.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... ll \ JcdcBll.psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcBLLGui.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:67 char:18 + Import-Module <<<< "$ ModulePath \ JcdcBLLGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... JcdcBLLGui .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcView.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:68 char:18 + Import-Module <<<< "$ ModulePath \ JcdcView.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... l \ JcdcView.psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcViewGui.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:69 char:18 + Import-Module <<<< "$ ModulePath \ JcdcViewGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... cdcViewGui .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcController.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:70 char:18 + Import-Module <<<< "$ ModulePath \ JcdcController.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... Controller .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcControllerGui.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:71 char:18 + Import-Module <<<< "$ ModulePath \ JcdcControllerGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... trollerGui .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcAutoMap.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:72 char:18 + Import-Module <<<< "$ ModulePath \ JcdcAutoMap.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... cdcAutoMap .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcAutoMapGui.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:73 char:18 + Import-Module <<<< "$ ModulePath \ JcdcAutoMapGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... AutoMapGui .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcReport.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:74 char:18 + Import-Module <<<< "$ ModulePath \ JcdcReport.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... JcdcReport .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcReportGui.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:75 char:18 + Import-Module <<<< "$ ModulePath \ JcdcReportGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... cReportGui .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcCv.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:76 char:18 + Import-Module <<<< "$ ModulePath \ JcdcCv.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... ell \ JcdcCv.psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ JcdcCvGui.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、ロードされませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:77 char:18 + Import-Module <<<< "$ ModulePath \ JcdcCvGui.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... \ JcdcCvGui.psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

Import-Module:指定されたモジュール'D:\ Project Files \ U:\ WebApp_PowerShell \ ReadWriteXML.psm1'は、どのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、読み込まれませんでした。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:78 char:18 + Import-Module <<<< "$ ModulePath \ ReadWriteXML.psm1" + CategoryInfo:ResourceUnavailable:(D:\ Project File ... adWriteXML .psm1:String)[Import-Module]、FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound、Microsoft.PowerShell.Commands.ImportModuleCommand

「Initialize-AddFileToProject」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:80 char:29 + Initialize-AddFileToProject <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-AddFileToProject:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-EOMAPGui」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:81 char:24 + Initialize-EOMAPGui <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-EOMAPGui:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-DALGui」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:82 char:22 + Initialize-DALGui <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-DALGui:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-BLLGui」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:83 char:22 + Initialize-BLLGui <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-BLLGui:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-ViewGui」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:84 char:23 + Initialize-ViewGui <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-ViewGui:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-ControllerGui」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:85 char:29 + Initialize-ControllerGui <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-ControllerGui:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-AutoMapGui」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:86 char:26 + Initialize-AutoMapGui <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-AutoMapGui:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-ReportGui」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:87 char:25 + Initialize-ReportGui <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-ReportGui:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-CVGui」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:88 char:21 + Initialize-CVGui <<<< $ RootPath $ Project + CategoryInfo:ObjectNotFound:(Initialize-CVGui:String)[]、CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

「Initialize-XMLArguments」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。D:\ Project Files \ CIS3G \ Webapp_Powershell \ ManualRun.ps1:89 char:28 + Initialize-XMLArguments <<<< + CategoryInfo:ObjectNotFound:(Initialize-XMLArguments:String)[]、CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException


これが発生しないようにファイルを開くときにパスを設定する方法はありますか?

このフォルダとファイルには、プロジェクト固有のコードを生成するために使用されるため、プロジェクトごとに異なるバージョンがあります。そのため、そのシーンリオでもソロレーションが機能する必要があります。

どんな助けでも大いに感謝されます。

4

4 に答える 4

1

あなたの質問を理解することはできませんが、実際にスクリプトの場所から始めたい場合は、$MyInvocation自動変数を使用できます。

$MyInvocation.MyCommand.Pathはスクリプト (.PS1 ファイル) のパスを提供し、それを使用Split-Pathしてそのディレクトリの場所を見つけることができます。あなたの場合、あなたGet-Locationが考える道を常に返すとは限らないと思います。

于 2012-09-12T03:49:14.560 に答える