- ベストアンサー
powershellで、select-stringで検索した結果に検索
powershellで、select-stringで検索した結果に検索対象の行のファイル名、行番号が入っているが、そのファイル名、行番号を表示させない方法はありますか? 至急です。宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- select-stringについて
robocopyとselect-stringについて robocopyの結果は、LOGオプションで確認できますが、 なんせ大量に出力され、コピーができなかったファイルやアクセスできなかった ファイルなどをlogの中から目視で特定するのは大変ですよね。 そこで、robocopyのログからコピーできなかったファイルだけを Powershellの文字列検索コマンド( Select-String)で抽出してみたのですが、 PowerShellの構文やselect-stringの使い方合っていますか? -pathとか良くわからない状態ですが、しっかりと、"エラー" プロセスはファイルにアクセスできません。別のプロセスが使用中です。" という箇所の行だけ出力されたファイルができあがりましたが、 本当に使い方など正しいのか・・・自身無しです。 select-stringではなく、コマンドプロンプトのfindではできないですかね? <実行> まず、コマンドプロンプトよりrobocopyを実施。 admin>robocopy C:\windows D:\bk /MIR /R:1 /W:3 /TEE /LOG:roblog.txt そして、PowerShellでコピーできなかったファイルだけを吐き出す。 get-content C:\user\administrator\robolog.txt | Select-String "エラー","プロセスはファイルにアクセスできません。別のプロセスが使用中です。" > erro.txt どなたかご教授下さい。
- ベストアンサー
- Windows系OS
- Select-Stringの出力結果を整形したい
PowerShellでSelect-Stringの出力結果を整形したい Powershellで、2つのファイルをCompare-Objectした結果をSelect-Stringで 文字列検索しています。 その結果が、以下の様に、配列で出力される見たいなのですが、できれば整形 をしたいのですが、上手くいきません。 @{InputObject=a,; SideIndicator=<=} @{InputObject=b,; SideIndicator=<=} @{InputObject=c,; SideIndicator=<=} この出力結果から、InputObject=とSideIndicator=の値を取り出したいのですが、 どうすればよろしいでしょうか。 結果としては、 「a」「<=」 「b」「<=」 「c」「<=」 を取り出したいのです。 連想配列かとも思ったのですが、エラーになります。 <コード> $a=diff (ファイルA) (ファイルB) | Select-String "<=" Write-Host $a.count foreach ($i in $a) { Write_Host $i $i["InputObject"] }
- 締切済み
- その他(プログラミング・開発)
- ★★★PowerShellのpatternについて★★★
★★★PowerShellのpatternについて★★★ PowerShellのpatternで"/*"が含める行を取得したいけど、ファイルの中身全てを取得してしまいました。"*"が含める行を取得しようとすると、以下のエラーメッセージが出ます。 【Select-String : 解析中 "*" - 量指定子 {x,y} の前に何もありません。】 やっぱり"*"は正しく認識されないでしょうか? 是非、教えてください。 宜しくお願い致します。
- ベストアンサー
- Microsoft ASP
- Powershellで外部テキストファイルより
まだまだPowershellの初心者で勉強中です。よろしくお願いします。 下記のような記述がしてある『applist.txt』というテキストファイルがあります。 ホスト名 チーム名 abc123 ponpon666 12def456 gekogeko777 ghi78912 fufufu888 Powershellで、まず端末のホスト名を取得し、その値と、上記の『C:\share』というフォルダの中にあるテキストのホスト名と一致した行にある値を表示したいのです。 外部テキストは、他の作業でも使用するため編集はできません。 作ってみたものは、 $result = ipconfig /all $hostname = $result[6].split(":")[1].Trim() Select-String $hostname -Path C:\share\applist.txt として、 ホスト名がghi78912という名前のPCのPowershell ISEで実行したところ C:\share\applist.txt:3:ghi78912 fufufu888 と1行分が出てしまいます。 これをチーム名のfufufu888だけが取得できるようにするには、どのようにすると良いのか、教えていただけませんでしょうか。
- ベストアンサー
- その他(プログラミング・開発)
- PowerShell Object -String
PowerShell でSystem.Object[]をSystem.Stringに変換できない。 FolderBrowserDialogで取得したフォルダー名を「Set-Location 」で使いたいのですが次のエラーが出ます。 <<Set-Location : パラメーター 'Path' で必要とされる型 'System.String' に 'System.Object[]' を変換できません。指定されたメソッドはサポートされていません。>> スクリプトは次ようになります。 $dlg = New-Object System.Windows.Forms.FolderBrowserDialog if($dlg.ShowDialog() -eq "OK") { $ScoreFolder = @($dlg.SelectedPath ) } $dlg=$null Set-Location $ScoreFolder ネットでいろいろ検索したのですがよく分かりませんでした。 どなたか教えていただけないでしょうか。よろしくお願い致します。
- ベストアンサー
- その他(ソフトウェア)
- Powershellで実行した結果を
Powershellで実行した結果を イベントビューアに出力したいと考えております。 出力メッセージを「番号:使用ユーザ名:メッセージ内容」を出力したいのですが (1)は使用ユーザ名が出力されず (2)は{使用ユーザ名}で出力されます。 (1)Write-EventLog -LogName Application test -EventId 1234 -EntryType Error -Message "0000001:$env:username:処理に失敗しました。" (2)Write-EventLog -LogName Application test -EventId 1234 -EntryType Error -Message "0000001:{$env:username}:処理に失敗しました。" 記述方法で「番号:使用ユーザ名:メッセージ内容」を出力する方法を ご存知でしたらご教授頂ければと思います。
- 締切済み
- その他(プログラミング・開発)
- windows powershellのコンソール上で表示されなくなった
windows powershellのコンソール上で表示されなくなった上部のデータ(文字)を参照する方法はないでしょうか。 powershellであるscriptを実行しました。その結果としてコンソール上に表示された情報(文字)が予想以上に多く、 上部の方がコンソールの表示範囲を超えてしまった為参照できなくなってしまいました。 ※cmd.exeでも同じ状況になっていると思います。 状況の説明が難しいのですが、 コンソールウィンドウのスクロールバーを一番上までもっていっても今回のscriptの実行結果として表示された情報の初めの行までは表示出来ない状態です。 予めコンソールの出力をテキストファイルなどにリダイレクトするようにして実行すれば良かったのですが。。 powershellに標準出力されたデータはどこかにログなど残っているのでしょうか? windows、powershellに詳しい方、ご教授お願い致します。
- ベストアンサー
- Windows系OS
- PowerShellからPowerShellを呼び出す方法
PowerShellからPowerShellを呼び出す方法 次のバッチファイルと同等の事をPowerShellで行う方法を教えて下さい。 下記のような非常に簡易的なバッチファイルがあるとします。 ■ aaa.bat ■ echo test ■ aaa.bat ■ ■ bbb.bat ■ aaa.bat > aaa.log ■ bbb.bat ■ ■ コマンドプロンプト ■ cmd> aaa.bat ・・・ 下に「test」と出力される test cmd> bbb.bat ・・・ ファイルaaa.logに「test」と出力される ■ コマンドプロンプト ■ 同じ事をPowerShellでするとすれば ■ aaa.ps1 ■ echo "test" ■ aaa.ps1 ■ ■ PowerShellの画面から ■ PS > ./aaa.ps1 ・・・ 下に「test」と出力される test PS > ./bbb.ps1 ・・・ ファイルaaa.logに「test」と出力される ■ PowerShellの画面から ■ この時の「bbb.ps1」はどのようになりますか?
- ベストアンサー
- その他(プログラミング・開発)
- powershellのelect-Object
powershellですが、Get-xxxxの結果に対してSelect-Objectで取り出しています。 出力結果に文字列、$LISTの値をを追加、結合したいのですができません。 $LISTS='aaa','bbb','ccc' foreach($LIST in $LISTS) { Get-xxxxx $LIST -Properties hogeプロパティ | Select-Object -Expand hogeプロパティ } aaa,内容1 aaa,内容2 bbb,内容1 bbb,内容2 : : ccc,内容3 というようにしないのですができなのでしょうか。 dir *.txt | select-object -expadn fullname とすると コマンドを実行したカレントディレクトのファイル名がフルパスで表示されます その結果の前でも後でもいいのですが、任意にの文字列を追加したいのですが、 できるのでしょうか。 1,c:\tmp\a.txt 2,c:\tmp\b.txt : 10,c:tmp\c.txt という具合です。 お願いします。
- ベストアンサー
- その他(プログラミング・開発)
- サイト内検索の検索結果
現在、とほほのWWW入門(http://tohoho.wakusei.ne.jp/www.htm) というサイトで見つけたフリーのCGIを使ってサイト内検索機能を設置しました。 キーワードを入力して検索結果が出るところまでは上手くいったのですが、検索されたページのリンク先アドレスの途中に/html/が入ってしまい、ページが表示されません。 ちなみに以下のようにファイルを置いてます。 -------------------------------------------- ├cgi-bin | └wsrch313 | └wwwsrch.cgi ├html | └検索対象のフォルダ | └logs -------------------------------------------- 上記のものを見てもわかると思いますが、 cgiのファイルはcgi-binフォルダ htmlのファイルはhtmlフォルダに入れています。 cgiファイルの検索対象を指定する部分には ../../html/検索対象フォルダ と入力していて、上記のもの以外では 検索結果が出ません。(ちなみにhttp://www~というフォルダ指定は出来ないみたいです。) こういった場合どのように検索対象フォルダを指定すればいいのでしょうか。ご教授お願いします。
- ベストアンサー
- CGI
お礼
大変参考になりました。 ご回答ありがとうございました。