お知らせ

現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。
2024/01/22 19:06 OS::Windows言語::batファイル

変数の文字列を文字列で置換

@ECHO OFF

SET text="hoge piyo fuga"
REM 置換文字を標準出力
ECHO %text:hoge=XXX%
REM 置換文字を変数に設定
SET replaced_text=%text:hoge=XXX%
ECHO %replaced_text%

@ECHO ON

変数の文字列を変数の文字列で置換

SET "var=value"SET var="value"の差は後述のAppendixを参照
CALLを付けているのは、これがないと変数名そのものが文字列として扱われるため

@ECHO OFF

SET "text2=foo bar baz"
SET "search_word=baz"
SET "replacer=ZZZ"

REM 置換文字を標準出力
CALL ECHO %%text2:%search_word%=%replacer%%%
REM 置換文字を変数に設定
CALL SET replaced_text2=%%text2:%search_word%=%replacer%%%
ECHO %replaced_text2%
REM 検索文字列を削除
CALL SET replaced_text3=%%text2:%search_word%=%%
ECHO %replaced_text3%

@ECHO ON

Appendix

SETコマンドの記述方法を変えた場合の出力結果の差について

SET "var=foo bar ZZZ" SET var="foo bar ZZZ"
foo bar ZZZ "foo bar ZZZ"

参考

このオプションはGoogle Chrome 112.0.5615.49にはありませんが、116.0.5845.188, 117.0.5938.88, 120.0.6099.225では表示されていました

Windows 11でGoogle Chromeを利用しているケースで正確な位置情報が取得できない場合の対処方法の紹介です。KING OF TIMEとかUberEatsの位置情報取得が上手く行かないときに使えると思います。

確認環境

Env Ver
Windows 11 22621.1105
Google Chrome 109.0.5414.120

手順

  1. Windowsの設定を開く
  2. プライバシーとセキュリティ>位置情報を開く
  3. デスクトップアプリに位置情報へのアクセスを許可するをON
    1. デスクトップアプリに位置情報へのアクセスを許可するをONにする
  4. 以下のアドレスを開き設定をEnabledに変更
    1. chrome://flags/#enable-winrt-geolocation-implementation
    2. 設定をEnabledに変更
  5. Google Mapsなど適当な位置利用サイトを開き、位置情報取得操作を行う
  6. 位置情報の利用を許可
  7. Windows側の位置情報が反映されればOK

関連記事

この記事では設定のプライバシーとセキュリティ>位置情報にある「既定の位置」の「既定値に設定」が動かない場合の解決法を紹介します。

確認環境

Env Ver
Windows 11 22621.1194

問題事象

「既定値に設定」ボタンを押しても何も起きない

「既定値に設定」ボタンを押しても何も起きない

解決方法

  1. Microsoft Storeを開く
  2. Mapsで検索
  3. Windowsマップというアプリを入手する
    1. Windowsマップというアプリを入手する
  4. 設定のプライバシーとセキュリティ>位置情報を開く
  5. 「既定の位置」の「既定値に設定」をクリックする
    1. 「既定の位置」の「既定値に設定」をクリックする
  6. マップアプリが開き座標を選択できれば解決です

あとがき

せめてマップアプリが入ってませんとかエラーくらい出してほしい
問題が起きてるときはボタン押しても何も起きないので意味不明すぎる…