読者です 読者をやめる 読者になる 読者になる

C#でWindowsのシステム環境変数を取得するときに値として埋め込まれている環境変数を展開しないで取得する

題名長い (;´д`) 環境変数を取得して改変してセットしたいときに値として埋め込まれた環境変数が展開されてしまうと不都合があると思います。 システム環境変数Pathを取得して変更する例 システム環境変数(例えばPath)を取得したい場合、いくつかやり方があ…

パフォーマンス カウンターのDisk Reads/sec, Disk Writes/secの単位ってなんだ?

Windowsのパフォーマンスカウンターをよく使うのですが、説明をしようと思うと意外と曖昧に理解していたり調べてもすぐ忘れてしまうのでメモしておく。 パフォーマンスカウンターを仕掛けるときに定番のものがいくつかあるのですが、ディスクについては\Phys…

Windowsでsedを使って環境変数を利用した置換をする

nginxの設定ファイルを起動時に環境変数の値を使って書き換えたい nginxのerror_logとaccess_logを1箇所で管理しているログディレクトリのパスで書き換えたいけど手動ではやりたくないです。 nginxの引数で-g "error_log xxx;"とかできるけどaccess_logは出…

C#でファイルバージョンは自動的なリビジョンを入れ、製品バージョンを手動で振る

デフォルトではAssemblyVersionとAssemblyFileVersionがあるのですが、なぜか両方あると*が効きませんよね。 AssemblyFileVersionを指定しなければ自動的なリビジョンが振られます。 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジ…

Jettyのstderrout.logとrequest.logのパスを環境変数で指定する

Jettyのログを相対パスで指定していたのですが、異なるドライブレターに出したいというご要望です 共通 Windowsサーバです。 ドライブレターは環境変数で環境変数で指定したものをプロパティとして起動時の引数で渡している想定です。 jetty.homeとjetty.bas…

log4netのログファイルを環境変数で設定する

log4netのログファイルの指定でパスの部分を環境変数から取得して設定したくなりました 現状は相対パスで書いていてlog4net.dllが動いているディレクトリからの相対パスになってます。 <file value="log\hogehoge.log" /> ドライブレターを変えたいというご要望なので、以下のようにしたら環境</file>…

Jenkins Pipeline PluginでWindows Batch Scriptを使うと文字化けする

またまた、Workflow PluginあらためPipeline Pluginの話です。 まあ、さもありなんとは思います。 build jobとかbatではないところは当然文字化けてません。 UTF-8にしてあげればいいんでしょうねと。 chcp 65001してあげることにした。 node('Windows') { b…

Jenkins Pipeline PluginでRobocopyを使うと成功したのにFAILUREで返ってくる

Workflow PluginあらためPipeline Pluginを使い始めてます。便利だわー。Groovyだし。 実行したScript Robocopyなんで前提はWindows Slaveです。 node('Windows') { def snapshot = "${env.BUILD_TAG}" echo "$snapshot" bat "robocopy /E .\\foo \\\\server…

Groovyからexecute()したプロセスで環境変数がうまく取れない

C#で書いたexeがあって、内部でEnvironment.GetEnvironmentVariable("ComSpec");してcmd.exeのフルパスを取っているのですが、何故かGroovyからexecute()した時だけ値が空白になります。 検証コード groovy> println "cmd /c set".execute([], new File(".")…

Groovyで外部プロセス起動して結果を読もうとすると処理が返ってこない事がある

execute().textを読み出そうとすると一部のコマンドで返ってこないことがある。 どうやらWindowsではストリーム詰まる問題が出ることがあるらしい www7164up.sakura.ne.jp 元ソース def runCommand(String command, String param) { def msg = [] def cmd = …

Windows 7 (64bit)でVB6ランタイムのインストールエラー(Windows 10でも発生)

2016/8/9 加筆修正 Windows 10でも同様の現象の発生と解決が確認できたので加筆修正しました。 現象 Vectorからvb6sp6rt4.exeをダウンロードしてインストール 「エラー 2709 オフライン参加完了情報が見つかりませんでした。」 というエラーが出てインストー…

Windowsで特定のファイルのバージョンを取得したい

とある事情であるディレクトリの下にある特定のファイルについてバージョンを取得することになった バージョンを取得する Support Toolsやフリーのツールが有るようですがいちいち入れるのが面倒なのでPowerShellでやることにした ググって試行錯誤して下の…

WindowsでJekyllを使う

WindowsでMarkdwon環境を整える 自分は普段Macをメインに使っているので、Markdownエディタとしてkobitoを使いつつ、基本的にはvimで書いてlocalのJekyllでプレビューしてます。 仕事的には共同作業が必要なのでWindows7でもjekyllを入れます。 さっそくつま…