【C#】Windowsの環境変数の値を取得する

コマンドプロンプトでsetコマンドを実行した際と同じ値をC#で取得する場合のコードは以下の通り(実際に試して値が一致したことを確認した)

echo %APPDATA% と同じ結果

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));

取得される値:C:¥Users¥(ユーザー名)¥AppData¥Roaming

echo %LOCALAPPDATA% と同じ結果

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData));

取得される値:C:¥Users¥(ユーザー名)¥AppData¥Local

echo %USERPROFILE% または echo %HOMEDRIVE%%HOMEPATH% と同じ結果

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile));

取得される値:C:¥Users¥(ユーザー名) 

 

【Windows Bat】特定のページを指定したブラウザで開く

それぞれのEXEとURLを指定し、startコマンドで実行してあげればOK

echo Chromeで開く
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://www.google.com/

echo Edgeで開く
start "" "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" https://www.google.com/

echo Internet Explorerで開く
start "" "C:\Program Files\Internet Explorer\iexplore.exe" https://www.google.com/

【Windows Bat】プログラムを強制終了させる

次のnotepad.exeの部分を書き換える

taskkill /im notepad.exe /f

実行すると強制終了したプログラムのプロセスIDも含めて表示される(以下の例は2つ起動中であった場合に両方とも終了された例)

成功: プロセス "notepad.exe" (PID 15660) は強制終了されました。
成功: プロセス "notepad.exe" (PID 5492) は強制終了されました。

なお、該当するプログラムが起動中でない場合は「エラー: プロセス “notepad.exe” が見つかりませんでした。」といった文字が返る

 

参考

【Windows Bat】プログラムの起動時間とプロセスIDを取得する

【Windows Bat】プログラムの起動時間とプロセスIDを取得する

次のnotepad.exeの部分を書き換える

wmic process where 'name="notepad.exe"' get name,creationdate,processId

実行結果は以下の通り(起動日時、EXE名、プロセスIDが返る)

CreationDate               Name         ProcessId
20211202103244.517899+540  notepad.exe  11476

EXEが1つも起動していない場合は、「利用できるインスタンスがありません。」という文字が返ってくる

 

参考

【Windows Bat】プログラムを強制終了させる

【Windows】パソコンの起動日時を取得する

コマンドプロンプトにて「systeminfo」を入力してEnterキーを押下する。

プロセッサ情報を読み込んでいます… などがしばらく表示されるので終わるまで待つ。

完了後、「システム起動時間: 2021/11/17, 18:46:02」というように表示される。

これ以外に以下のような情報も取得できる(一例)

  • ホスト名
  • OS名
  • OSバージョン
  • 最初のインストール日付
  • プロセッサ
  • BIOSバージョン

【Windows11】ファイルの削除などの右クリックメニューが変わった

※Windows11正式リリース前のバージョンで確認しています(2021/08/21時点)

Windows10と異なり、ファイルを右クリックしてもすべてのメニューが表示されなくなった。

すべてのメニューを表示したい場合は、右クリックすると表示される一覧の一番最後の「その他のオプションを表示」をクリックすればWindows10と同様のメニューが表示される。

削除などの場合は、上部に並んでいるアイコンからもできる(左から、切り取り、コピー、名前の変更、共有、削除)

 

 

【Windows】Subversion(SVN)サーバを移行する

はじめに

個人開発で利用していて自分しか使わないSVNがあるのですが、PC買い替えのため移行しました。

1台のPC上でSVNサーバとクライアントを兼ねており、大人数が使う場合には問題が出るかもしれませんが、あくまでも個人用としては問題なかったので残しておきます。

移行環境

移行元

  • Windows 10 20H2
  • subversion 1.8.17(CollabNet)
  • TortoiseSVN 1.9.5

移行先

  • Windows 10 20H2
  • subversion 1.12.0(CollabNet)
  • TortoiseSVN 1.14.1

メモ:SVNのバージョンは、コマンドプロンプトから「svn –version」を実行すると分かります。

移行手順

subversion本体をインストール

https://www.collab.net/downloads/subversion から、「Subversion 1.12.2 (Windows 64-bit)」をダウンロードします。

ここで不安になったのですが、ダウンロードされたファイル名が「CollabNetSubversion-client-1.12.2-1-x64.exe」とあり、「クライアント?サーバ用じゃないのか?」と思ったのですが、ちゃんとサーバ用でした。クライアントコマンドも入っているという意味みたいですね。

インストール自体はデフォルトのまま進めて完了しました。

TortoiseSVNをインストール

クライアントとして利用します。
https://tortoisesvn.net/downloads.html から、「TortoiseSVN 1.14.1 – 64-bit」をダウンロードします。

こちらもデフォルトのまま進めてインストールを完了しました。

リポジトリの移行

旧PCからフォルダごと持ってきただけで完了しました。
尚、チェックアウトする時は「file:///C:/svn/プロジェクト名/」のような形式で指定しています。

おわりに

WindowsPCにSVNを構築することについて書かれたサイトが少ない気がします。
特に最近更新されたページが無かったので、次の移行のときには厳しくなってくるかもしれません。
念のため、インストーラ自体は残しておいた方が良いと思います。

 

【Windows Bat】エラーレベルをクリアする

正常に完了するコマンドを実行すればOK

rem ★エラーを起こす
rem エラーを起こすために存在しないフォルダを指定 cd c:\not_exists_folder rem エラーレベルを確認すると1になっている echo %errorlevel%
rem ★エラーをクリアする rem エラーレベルをクリアするために成功するはずのコマンドを実行する(結果はいらないので>nulで捨てる) cd > nul rem エラーレベルを確認すると0になっている echo %errorlevel%

 

【Windowsアプリ】閉じるボタン隠すくん


Ver 1.0.1(2020/10/05公開)

閉じるボタンの上に四角い枠を表示することによって、閉じるボタンを誤って押してしまうことを防ぎます。

Windows 10対応
フリーソフト100さんに紹介して頂きました

ダウンロード

ダウンロード(82KB)
※ダウンロード後、Zipファイルを解凍する前に、ファイルを右クリック→全般タブの一番下のセキュリティの「許可する」にチェックを入れて、「OK」ボタンをクリックした後に、解凍してください。

Vectorでも公開しています

開発環境:Visual Stuido 2017(C#)