問題タブ [powershell-ise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3653 参照

powershell - $ 変数を使用してコマンドをパラメーター化しようとするとエラーが発生します

次のコード スニペットを使用してコマンドを実行しようとしています。

ただし、これを行うと、次のエラー メッセージが表示されます。

私も試しました

しかし今、これは私に与えます

しかし、少なくともコマンドは実行されましたが、送信したパラメーターのいずれも受信していないようです...ここで見落としている、または把握できていない PowerShell の基本的な概念があると思います。どこで間違ったのですか?

0 投票する
2 に答える
58503 参照

powershell - 現在のディレクトリからサブフォルダー内のファイルの相対パスを取得する

特定のパスからサブフォルダー内のファイルの相対パスのみを取得する (コマンドレットまたは .NET クラスを使用する) 簡単な方法はありますか?

たとえば、現在のフォルダーはfileでC:\MyScript呼び出されるサブフォルダーがあるため、代わりに表示したいDataTest.txtData\Test.txtC:\MyScript\Data\Test.txt

0 投票する
1 に答える
1192 参照

powershell-ise - この役に立たない Powershell ISE エラー メッセージの原因は何ですか?

Powershell ISE をコンソール アプリとして使用しようとしていますが、ほとんど成功していません。Comskip はコマンド ライン ツールであり、Comskip のコマーシャル スティッピングを通常通り実行する AHK スクリプトを使用していcmd.exeます。正常に動作しますが、最近、ファイル名に Unicode 文字 (星評価) を使用し始めました。ご存知のように、これらはコンソールで特に適切に表示されません。

調査の結果、Unicode をサポートするはずの Powershell ISE にたどり着きました。ISE から Comskip を実行するのは非常に困難であることがわかりました。すべてを手動で入力すると問題なく動作しますが、別のスクリプトから呼び出すと問題が発生します。

ここで問題となるのは、通常の Powershell コンソールを呼び出すコードを使用すると、すべてうまくいくことです。しかし、ISE を呼び出す同じコードが失敗し、その理由がわかりません。どなたかできますか?表示されるエラー メッセージには、何が問題なのか明確な手がかりはありません。エラーメッセージは次のようにのみ表示されます。

使用法:powershell_ise.exeまたはpowershell_ise.exe fileName.ps1

ISE を呼び出す AHK 行は次のようになります。

Powershell コンソールを使用すると、同じコードが正常に実行されます。

なぜこれらの異常が発生するのですか?

0 投票する
3 に答える
2537 参照

powershell - PowershellはISEで正しくエラーになりますが、コマンドラインの実行ではエラーになりません

期待どおりに終了していたPowerShellISEでコマンドを実行していますが、コードをコマンドラインに移動してさまざまな環境で実行すると、エラーが発生しなくなりました。エラーはISEでのみ発生します。他の人が投稿したように、コマンドラインで-staを使用しようとしましたが、うまくいきませんでした。

ISEを介して実行すると、次の出力が得られます。

コマンドラインでそのコマンドを実行すると、次の出力が得られます。

ご覧のとおり、戻りコードを確認してISEで正しいアクションを取得しようとしていますが、コマンドラインから正しい結果を取得できません。

WindowsがISEで実行しているときに使用しているさまざまな環境変数があるかどうか疑問に思っています。ISEで実行すると、コンソールにエラーが赤で表示されます。

0 投票する
4 に答える
2171 参照

powershell - powershell で検索して置換する

私のテキストファイルは次のようになります。

私がやりたくないことは、このファイルを編集して、このSet PRGVER="V1.0.12"ように新しい番号に変更するだけSet PRGVER=V1.0.13"です。
PS Script を開始すると、文字列全体、 の間の数字がわかりません""
私が知っているのは、文字列変数を見つけることだけです: Set PRGVER="".

間の最初の値だけを置き換えるにはどうすればよい""ですか?

0 投票する
1 に答える
2627 参照

powershell - スクリプト モードとインタラクティブ モードの両方で、PowerShell $error オブジェクトの動作を一貫させることはできますか?

$errorエラーの検出と対応に使用する PowerShell スクリプトを作成しています。私の問題は$error、スクリプトの実行方法に応じて、オブジェクトの動作が異なることです。対話的に (具体的には PowerShell ISE から) 実行すると、エラーがコレクションに追加されますが、コマンド ラインから同じスクリプトを実行すると、同じエラーが発生しますが、コレクションには追加されません。

スクリプトは次のとおりです (問題を説明するために簡略化しています)。

これを PowerShell ISE から実行すると、期待どおりに動作します。SQLCMD は終了しないエラーを発生させ、これをキャッチして処理します。出力は次のとおりです。

しかし、スケジュールされたタスクをセットアップする場合と同様に、コマンド ラインから実行すると、何も追加され$errorず、例外も発生しません。出力は次のとおりです。

cmd.exe ではなく、powershell コマンド ラインからスクリプト ファイルを実行しても、同じ結果が得られます (これは理にかなっています)。例えば:

これは、実行コンテキスト、またはパーサー モードに関する何かと関係があると思われますが、これはまだ十分に理解していないか、またはプロファイルでさえある可能性があります (ただし、これまでのところ、同じ PC から同じアカウントですべてを実行してきました)。 . try/catchwithのこの基本的なアプローチを使用する多くの例をオンラインで見た$ErrorActionPreference = "Stop"ので、これを機能させることができるはずです。

したがって、私の質問は基本的に次のとおりです。このスクリプトを自分が思うように機能させることはできますか? そうでない場合、私は何を誤解していますか?この種のエラーをキャッチするにはどうすればよいですか? もしそれが助けになるなら、私はこれに非常に詳細な例外処理は必要ありません.タスクモニターが私に警告できるように、何か問題が発生したときに知る必要があるだけです. powershell.exe からのゼロ以外のリターン コードで十分です。

と の使用を検討していますが$?、と同じ問題が発生し、どちらも実行された最後のステートメントにのみ適用されるに違いありません。これは、実際のスクリプトがこの例よりもかなり長いため、理想的とは言えません。$LASTEXITCODE$?$error

編集:
OK、以来、Windows 実行可能ファイル (sqlcmd など) は、$errorゼロ以外の終了コードを返したとしても、コレクションに何も追加しないことを知りました。$error私が正しく理解している場合、コマンドレットでのみ使用されます。Windows 実行可能終了コードを認識し、ゼロ以外の値に対して false に設定されるため、同様に$LASTEXITCODE使用することもできましたが、スクリプトを繰り返し使用して動作させることができました。$?

要約すると、コマンド ラインから実行したときのスクリプトの動作は、正しく、予期された動作です。ただし、PowerShell ISE とは異なる結果が得られた理由はまだわかりません。

0 投票する
2 に答える
390 参照

powershell-2.0 - PowerShellで関数を作成できません

このチュートリアルを使用して、PowerShellISEにメニュー項目を追加しようとしています。

しかし、何らかの理由でこのエラーが発生します。

Windows 7 Enterpriseを実行し、PowerShellISEを管理者として実行しています...

この問題について何か考えはありますか?

0 投票する
1 に答える
1081 参照

powershell-ise - Powershellデバッグイベント-アクションコードブロック

特定のディレクトリでのファイル作成を監視するスクリプトがあります。System.IO.FileSystemWatcherを作成した後、Register-ObjectEventを使用しています。

うまく機能しますが、-Actionコードブロックにブレークポイントを設定すると、IDEは次のように生成します。

警告:「D:\ MyStuff \ Desktop \ scripts \ fileWatcher.ps1:15」のブレークポイントラインブレークポイントはヒットしません

このメッセージは、監視しているディレクトリにファイルをドロップした直後に発生し、上記の「警告」の直後にWrite-Hostがメッセージを出力しているのを確認できます。

これは正常ですか?
さらにコードを追加する必要があり、実際にデバッガーを使用できます。このコードブロックをデバッグできるようにするにはどうすればよいですか?

0 投票する
1 に答える
997 参照

sqlite - PowerShell ISEからSQLiteのようなシェルを実行するにはどうすればよいですか?

sqlite3コマンドラインシェルであるsqlite3.exeを使用していくつかのことを実行したいと思います。PowerShell ISEのディレクトリに移動した後、でプログラムを実行し、.\sqlite3.exeSQLiteから期待される出力を取得します。

ただし、.helpこの後、またはその他のコマンドを入力しようとしても、何も起こらず、下部のタスクバーに「コマンドを実行しています。しばらくお待ちください」と表示されます。もちろん、明らかにsqlite3.exeが私からの入力を待っているので、待つことは何もありません

Ctrl + BreakでSQLiteを終了しない限り、PowerShellISEがこの時点以降のコマンドに応答するようにできません。

なにが問題ですか?