[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
951
(1): 2018/11/06(火)07:20 ID:4bA2Iy3p(1/5)調 AAS
>>950
XORは二重引用符で囲んでも更にエスケープの謎仕様
@echo off
set n=!
setlocal enabledelayedexpansion
set /a a=0,b=0
set /a "a=!n!22+!n!33"
echo a=!a!
set /a "b=!n!(5^^5)"
echo b=!b!
pause

a=0
b=1
957: 2018/11/06(火)15:53 ID:4bA2Iy3p(2/5)調 AAS
>>956
謎ですねえ

>cmd /v:on
>set n=!
>set /a "a=!n!(123^456)"
0
>set /a "a=!n!(123^^456)"
0
>set /a "a=!n!(123^^^456)"
0
>set /a "a=!n!(123^^^^456)"
オペランドがありません。

>set /a "a=(123^456)"
435
>set /a "a=(123^^456)"
オペランドがありません。
958: 2018/11/06(火)15:56 ID:4bA2Iy3p(3/5)調 AAS
たぶん式に遅延変数があると2回展開してるんじゃ?
959: 2018/11/06(火)16:35 ID:4bA2Iy3p(4/5)調 AAS
遅延変数が無くても
NOT演算がある時に再エスケープ(^^)が必要みたいね
>cmd /v:on
>set /a "a=!(123^123)"
0
>set /a "a=!(123^^123)"
1
>set /a "a=(123^123)"
0
>set /a "a=(123^456)"
435
>

一番上の式は !(123123) で 0 になってると思う
960: 2018/11/06(火)16:48 ID:4bA2Iy3p(5/5)調 AAS
遅延無しの環境では二重引用符だけでエスケープは要らないようだ
>cmd /v:off
>set /a "a=!(123^123)"
1
>
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s