hakeの日記

Windows環境でプログラミングの勉強をしています。

2017-01-01から1年間の記事一覧

Windows10 Fall Creators Update 適用

ウィルスバスターの修正モジュール適用してのリトライは無事成功。更新時間は30分くらい?で、今までより少し長め。 今回は、Change Keyで設定したキー入れ替え設定がクリアされずに残っていた。 旧Windowsのoldフォルダが20GB以上ある。128MB SSDのPCではち…

Windows10 Fall Creators Update 適用失敗

Windows Updateに1709が来ていたので、アップデートをかけたら見事に失敗。 再起動→ブルースクリーンを2回繰り返してから、従来のバージョンに勝手に戻ってしまいました。どうやらウィルスバスターに問題があった模様です。とりあえず再起動の無限ループに…

PowerShell - 音量のコントロール

PowerShellからボリュームコントロールできる情報を見つけたのでメモ。VolumeとMuteプロパティへのアクセスができるようになる。 Windows7 の PowerShell Ver.2の場合は、1行目を以下の様に変更する。 Add-Type -Language CSharpVersion3 -TypeDefinition @'…

Visual Studio Community 2017 オフラインインストール

追記 Visual Studio Community 2019の場合を追加しました。 Visual Studio Community 2019 オフラインインストール - hakeの日記 手順はこちらに書かれているとおり vs_community.exeの取得 上記リンク先からダウンロードする。 ローカル インストール キャ…

EXCEL VBAメモ - xlsmファイル中のマクロの書き換え

マクロ入りの雛形ファイルをコピーして作成されたExcelファイルが多数ある場合の一括マクロ更新などに使用。 参考サイト:VBAでVBEを操作する 基本的に更新対象ファイルの対象モジュールの内容を一括削除して、予め更新マクロ用Excelファイルに用意した、同…

Java - VS CodeでのJava実行環境

Visual Studioの重さから、VS Codeも重いんだろうなという思い込みでいたのだけれども、実際に使用したら結構軽いので驚いた。 本格的な開発ならeclipseの方が良いけれども、勉強にはこちらで十分。 前提 環境 Windows10 64bit Java8をインストール済みでJav…

Podcast音源ファイルをミュージック管理にする

iTunesでダウンロードしてiPod Touchへ同期させていたPodcast音源。 車中での再生環境が変わったのを機にミュージックのプレイリストへ登録しようとしたら、移行手順に悩んだので今後の為に手順をメモ。 環境 Windows10 64bit iTunes 12.6.1.25 iPod Touch 6…

Windowsコマンドでのbase64のエンコード/デコード

Windowsコマンドで変換できるのを知ったのでメモ。 certutil -decode b64.txt plain.txt certutil -encode plain.txt b64.txt

非VisualStudio環境でのC#コンパイラ(コマンドライン版)

参考 コマンドラインコンパイラ csc.exe で C# コードをコンパイルする 巨大なVisualStudioをインストールしなくても、コマンドラインのC#コンパイラが使用できるということなので試したらできました。ちょっとしたツールを作成するのに便利かもしれません。…

Windows10 Creators Update 適用

PCにバージョン1703を適用しました。特に問題なし。 日本語入力ON/OFF時に現在のモードが画面中央に表示されるようになった以外、何が変わったのかよくわかりません……と思ったらコントロールパネルが無くなっていた。 検索したところスタートメニューのWindo…

マイクロコンピュータの誕生――わが青春の4004

以前から読みたかった本で、マーケットプレイスだと高価すぎて手が出せなかったのですが、オンデマンドで再販されるようなのでメモ マイクロコンピュータの誕生――わが青春の4004 (岩波オンデマンドブックス)作者: 嶋正利出版社/メーカー: 岩波書店発売日: 20…

PowerShell - スクリプトブロック

以下の様に、スクリプトブロックを変数に代入できる。呼び出しは変数に"&"を付加する。 なので高階関数のようなことも可能になります。 $plus1 = { param( $a ) return $a + 1 } # 第一引数にスクリプトブロック # 第二引数にリスト function map($fn, $list…

PowerShell - SHA256ハッシュ値文字列の取得

function getSHA256Hash( [string]$s ){ $sha256 = New-Object System.Security.Cryptography.SHA256Managed $utf8 = New-Object System.Text.UTF8Encoding $h = $sha256.ComputeHash( $utf8.GetBytes($s) ) return ($h | %{$_.ToString("x2")}) -join "" } …

PowerShell - 簡易GUI電卓

簡単なGUI電卓を作成。 少々悩んだ点として、関数内でグローバル変数にアクセスする場合は、$varを$global:varとすること。でも、本当は引数経由でアクセスしたほうが良いのですが……。 あとボタンオブジェクトは、配列で処理するとソースがもっとすっきりす…

PowerShell - Internet Explorerの操作

Internet Explorerを起動して、Googleで"PowerShell"を検索してみる。 ただ、起動したIEのウィンドウを最前面にもってくる方法がわからない。 $keyword = "PowerShell" $ie = New-Object -ComObject InternetExplorer.Application $ie.Visible = $true $ie.N…

PowerShell - Sort-Object - 1から10の数字を、2.1に近い順に並べかえる

1..10 | Sort-Object @{ Expression={[MATH]::Abs($_ - 2.1)}; Ascending = $true # expressionブロックの値が小さい順 } 実行結果 2 3 1 4 5 6 7 8 9 10

PowerShell - ForEach-Objectの多重使用 - CSVファイルを読み取りデータに1を加算して出力する

Get-Content ".\test.csv" | %{ ( # 1行ごとの処理 $_ -split "," | %{ # 1データごとの処理 [int]$_ + 1 } ) -join "," } | Write-Output test.csv 1,2,3 4,5,6 7,8,9 結果 2,3,4 5,6,7 8,9,10 普通のプログラムっぽい書き方(ForEach-Objectは使用しない)…

PowerShell - Excelの操作

EXCEL用のCOMオブジェクトを作成して、あとはVBAと同じ感覚で操作できるっぽいです。 一点、配列やコレクションの括弧の形状がVBAだと( )ですが、[ ]にしないとメソッドと間違えられてエラーになるので注意。 $excel = New-Object -ComObject Excel.Applicat…

PowerShell - GUIプログラム

ボタンをクリックすると文字を表示するプログラム。 デフォルトで使用できないクラスは、Add-Typeで読み込む。Formに設定したフォントはForm上の部品にも適用される。イベント登録はAdd_イベント名(処理)と記述する。 System.Windows.Forms.Formクラス - M…

PowerShell - クラス

バージョン5からクラスが使用可能になったようです。 class Person { [string] $name [int] $age # コンストラクタ Person() { $this.name = "No Name" $this.age = 0 } Person([string]$name, [int]$age) { $this.name = $name $this.age = $age } # メソッ…

PowerShell - クロージャ

戻り値となるブロック内の変数$cntをscriptスコープ宣言することでfunction内の変数$cntへアクセスできるようになる? function generator($step = 1){ $cnt = 0 return { $script:cnt += $step return $cnt }.GetNewClosure() } $a = generator &($a) # 1 &…

PowerShell - 独自オブジェクトの作成

PSObjectにプロパティやメソッドを追加していくことで独自のオブジェクトが作成できます。 # Hashでプロパティを追加 $hash = @{name = "Taro"; age = 20} $obj = New-Object PSObject -Property $hash # Add-Memberでプロパティを追加 $obj | Add-Member -M…

PowerShell - 例外処理

try節のブロックで例外が発生した場合、(該当する型を記述した)catch節が実行される。finally節は例外発生有無に関わらず実行される。 try { "try節です" 1/0 } catch [Exception] { "catch節です" } finally { "finary節です" }try節です catch節です fin…

PowerShell - 例外処理(throw)

意図的に例外を発生させる場合にはthrowを使用する。 try { "try節です" throw "例外発生" } catch [Exception] { "catch節です" } finally { "finary節です" }PS C:\> $error[0].CategoryInfo Category : OperationStopped Activity : Reason : RuntimeExce…