【.cmd】 バッチファイルスクリプト %15 【.bat】 (768レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
286(1): デフォルトの名無しさん [] 2023/05/10(水) 02:46:49.16 ID:7WScgW4R(1/3) AAS
>>276276(1): デフォルトの名無しさん [] 2023/05/09(火) 05:44:06.79 ID:uZ4E3DcQ(1/5) AAS
動くのか確認してないけどBing AIに丸投げしてみたw
バッチファイルで変数の値に含まれる全角のダブルクォーテーションを半角のダブルクォーテーションに置換するには、以下のような方法があります。
- 変数を`%%`で囲んで`set`コマンドで置換する場合、`%%`の前に`~`を付けるとダブルクォーテーションが除去されます¹。例えば、
```bat
set BatFileTag=”test1“
set BatFileTag=%~BatFileTag%
echo %BatFileTag%
```
- 変数を`!`で囲んで遅延展開を有効にすると、全角のダブルクォーテーションも置換できます²。例えば、
```bat
setlocal enabledelayedexpansion
set BatFileTag=”test2“
set BatFileTag=!BatFileTag:“="!
set BatFileTag=!BatFileTag:”="!
echo !BatFileTag!
endlocal
```
- ダブルクォーテーションを含む変数を別のコマンドに渡す場合は、ダブルクォーテーションをエスケープする必要があります³。例えば、
```bat
set BatFileTag=”test3“
echo ^"%BatFileTag%^"
```
変数を`%%`で囲んで`set`コマンドで置換する場合、`%%`の前に`~`を付けるとダブルクォーテーションが除去されます
え、ホント?と思って やってみたら
バッチ パラメーターの置き換えで、パス演算子の次の使用法は無効です:
%~BatFileTag%
と出力されたんですが、できないですよね?
>>285EDCBの 録画タグ の話でした。。
289: デフォルトの名無しさん [] 2023/05/10(水) 17:07:25.20 ID:7WScgW4R(2/3) AAS
>>288288(1): デフォルトの名無しさん [sage] 2023/05/10(水) 07:27:54.84 ID:7bNTa4KZ(1) AAS
>>286
エラー表示で 「CALL /?」または「FOR /?」 とあるだろ
それ見ると %~ の使い方がわかるよ
どちらにせよ全角の引用符は消えない
AIがまだポンコツだし、その翻訳もおかしいので
あまり参考にならない
ありがとうございます、ヘルプを参照しました。
%~0 で 周りを囲んだダブルクォーテーションは除去できる、
%~BatFileTag% は 構文エラー、ですね。
291: デフォルトの名無しさん [] 2023/05/10(水) 23:36:37.50 ID:7WScgW4R(3/3) AAS
バッチスクリプトの引数参照(?)の展開を 通常の変数でも使いたい時ありますよね。
forを使えば、わざわざ関数に渡さなくていいってことですよね。覚えておきます。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.368s*