【C#】長いパスから短いパスに変換する(GetShortPathNameを使う)

WindowsのAPIであるGetShortPathName関数を利用する。

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
private static extern int GetShortPathName(string lpszLongPath, StringBuilder lpszShortPath, int cchBuffer);

以下のように呼び出す。

// ※ポイント!
// 長いパスの先頭に「\\?\」をつけないと、短いパスを取得できない
var longPath = @"\\?\C:\Users\a\Desktop\あいうえお\テキストファイル\111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.txt";

var shortPath = new StringBuilder(256);
if (GetShortPathName(longPath, shortPath, shortPath.Capacity) == 0)
{
    // 取得失敗
}
else
{
    // 取得成功。取得例 \\?\C:\Users\a\Desktop\あいう~1\テキス~1\111111~1.TXT
    Console.WriteLine(shortPath);
}

【Windows Bat】ps1ファイルを呼び出す&日本語が化けないようにする

以下の2ファイルは同じフォルダに保存されている前提。
start.batをダブルクリックするだけで、ps1が実行されるようになる。

start.bat (※文字コードはShift-JIS)

@echo off
rem ps1ファイルをそのまま呼び出せるようにするため、「-ExecutionPolicy Bypass」を指定する
powershell -ExecutionPolicy Bypass -File "%~dp0main.ps1"
pause

 

main.ps1 (※文字コードはUTF-8 BOM付き)

# 現在日時を表示
Write-Host "PowerShellを実行しました! $(Get-Date -Format 'yyyy/MM/dd HH:mm:ss')"

EasyReplayWindows

You can easily automate routine computer tasks.

Start EasyReplayWindows and click the “Start Recording” button.
Then operate your computer as you normally would.
After recording is complete, in “AutoPlay Settings”, specify the time and day you want it to run.
The recorded content will now be executed automatically every time.

It’s very easy to use, so please give it a try!
You can use it for free for one month.

Click here to download

Once you have confirmed that it works without any problems, please purchase it from the link below.

*Refunds are not available after purchase. Please check the operation beforehand.
*Automatic payment is made every month. If you wish to cancel the renewal, please contact us by email (it takes several days to process the cancellation, so please contact us earlier than the next renewal date.)

EasyReplayWindows

English page here.

いつものパソコンの定型作業を簡単に自動化できます。

EasyReplayWindowsを起動し、「記録開始」ボタンをクリックします。
あとは普通にパソコンの操作を行います。
記録完了後、「自動再生設定」にて、実行したい時間と曜日を指定します。
これで、記録した内容が毎回自動で実行されるようになります。

操作はとても簡単ですので、一度お試しください!
1か月間は無料にてご利用できます。

ダウンロードはこちらをクリックしてください

問題なく動作することが確認できましたら、以下からご購入をお願いいたします。

※ご購入後の返金はできません。事前に動作確認をお願いいたします。
※1か月ごとの自動支払いになります。更新をキャンセルする場合は、メールにてご連絡ください(キャンセル処理までに数日かかりますので、次回更新日よりも早めにご連絡ください。)

【Windows10】ペイントが「新しいドキュメントを作成できません。」と表示され起動できなくなった

2023/12/14時点で、Windows10のペイントを起動すると「新しいドキュメントを作成できません。」というメッセージが表示され、起動できない。


恐らくWindowsUpdateが実行されたことにより壊れた?と思われる。

ショートカットは、「C:\Windows\System32\mspaint.exe」を実行するが、こちらではなく「C:\Windows\SysWOW64\mspaint.exe」の方だと起動できた!

【Subversion,SVN】バージョンを調べる

コマンドプロンプトで、以下のように入力する。
(バージョンの前のハイフンは2つ付けること!)

svn --version

実行すると以下のような結果が返ってくる。
svn, version 1.12.0 (r1857323)
 compiled Apr 26 2019, 02:13:45 on x86_64-microsoft-windows6.2.9200

【ノートパソコン】電源は入るが画面に何も表示されない(ボタン電池の交換で解決)

現象

普段利用していなかったノートパソコンを起動するために電源を入れると、電源ボタンが光るが、画面が真っ黒のまま。ハードディスクなどのアクセスランプもつかず、ロゴなども一切表示されない。

対応

ノートパソコンの中にあるボタン電池(CR2023)を新品に交換してみたところ、無事起動した!
画面が壊れたのかと思ったが、まさか電池が切れていただけとは・・・。分かりにくい。
壊れた?と思ったら試してみると良いかも。
但し、電池交換はノートパソコンを分解しなければならなかったためとても手間だった(富士通のLIFEBOOK AH42/J)

【マウスコンピューター】Yahoo!などに接続できなくなる

現象

mouse K5のノートパソコン(Windows 10)でYahoo!を閲覧中、別ページをクリックしたところ読込に失敗するようになった。
ルーターを再起動したが、閲覧できないまま。
但し、GmailやOutlookなどは閲覧できた。

コマンドプロンプトから「ipconfig -all」を実行し、「Wireless LAN adapter Wi-Fi:」を確認したところ、DHCPで割り振られるアドレスが通常と異なる(こちらの環境だと、普通は192.168.10.xxxだが、168?から始まるものに変わっていた。正確なアドレスは失念・・・)ものになっていた。Windowsを再起動しても戻らない。

対処

デバイスマネージャから「Intel(R) Wi-Fi 6 AX201 160MHz」(Wireless LAN adapter Wi-Fiの説明に記載されていたもの)を右クリックし、「デバイスのアンインストール」をクリックする。
確認画面が表示されるので、「このデバイスのドライバー ソフトウェアを削除します。」にチェックを入れないで、「アンインストール」をクリックする。
アンインストール完了後、そのままWindowsを再起動し、ルーターのパスワードを再入力したら直った!(192.168系のIPアドレスが割り振られるようになった)。

ドライバーの問題かな?