トップページ > プログラム > 2018年05月17日 > TsNh8oQN

書き込み順位&時間帯一覧

1 位/172 ID中時間01234567891011121314151617181920212223Total
書き込み数2000001100110000011001009



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net

書き込みレス一覧

【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
542 :デフォルトの名無しさん[sage]:2018/05/17(木) 00:05:45.00 ID:TsNh8oQN
ああ分かった リテラルが 1^2 の場合ね 失礼
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
543 :デフォルトの名無しさん[sage]:2018/05/17(木) 00:31:20.52 ID:TsNh8oQN
call :check_num "%~1" result
にでもすりゃいいのかな
こういうのは考え出すときりが無い様な気がするが
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
545 :デフォルトの名無しさん[sage]:2018/05/17(木) 06:56:29.62 ID:TsNh8oQN
eof= を消すと副作用があるし
どっちにしろ引数に ; があると誤動作するみたいだし
こりゃあもうお手上げだな
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
546 :デフォルトの名無しさん[sage]:2018/05/17(木) 07:02:08.36 ID:TsNh8oQN
あ、eol= だった
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
550 :デフォルトの名無しさん[sage]:2018/05/17(木) 10:17:41.58 ID:TsNh8oQN
どんな方法でも良いから
引数の中に " とか ; が入ってても
正しく動作するのを頼む

というのは絶対に無理なのかね
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
551 :デフォルトの名無しさん[sage]:2018/05/17(木) 11:47:23.61 ID:TsNh8oQN
>>550が不可ならそれを前提条件にするしかないだろ
ちょっと直してみた
@echo off
call :check_num "%~1" result
echo %result% & pause & goto :eof
:check_num
setlocal
set "b=FALSE" & if "%~1"=="" goto x
for /f "delims=-+0123456789 tokens=*" %%i in ("%~1") do (
set "a=%%i" & if not defined a set "b=TRUE"
)
:x
endlocal & set "%2=%b%"
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
552 :デフォルトの名無しさん[sage]:2018/05/17(木) 17:15:43.43 ID:TsNh8oQN
とりあえず引数の " と ; の対策らしきもの
引数は行末まで1個のみ
もう嫌気がさしたのでこれ以上はやめとく
@echo off
set a=%*"
set /a b=0,c=0
setlocal enabledelayedexpansion
:x
set d="!a:~%b%,1!!a:~%b%,1!"
if !d!=="" goto y
if !d!=="""" set /a c+=1
if !d!==";;" set /a c+=1
set /a b+=1 & goto x
:y
endlocal & set c=%c%
set "e=FALSE" & if %c% gtr 1 (goto z) else set "a=%*"
for /f "delims=-+0123456789 tokens=*" %%i in ("%a%") do (
set "a=%%i" & if not defined a set "e=TRUE"
)
:z
echo %e%
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
555 :デフォルトの名無しさん[sage]:2018/05/17(木) 18:05:24.87 ID:TsNh8oQN
>554.bat 1"&ab"
'ab""' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
TRUE
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
557 :デフォルトの名無しさん[sage]:2018/05/17(木) 21:53:53.10 ID:TsNh8oQN
>>555
554.bat とあるが実際は >>553 のバッチ処理結果です
バッチ2行目の set コマンドの、左側の " が悪さをしてる
当然、下にあるチェック文もそのままでは使えない
引数 1;2 は実際には2つに分かれるが
これで TRUE を返すのは違和感あるので
>>552 では FALSE を返している
2つの %* を %1 にすれば TRUE を返せる筈


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。