[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
上下前次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
>
961: 2018/11/07(水)07:55 ID:BI4/Q6Ue(1) AAS
遅延モードでは式の中に ! 文字があると展開の処理が違うんだろう。
だから ^ 文字の扱いも変化する。
962: 2018/11/08(木)07:17 ID:9iJL9tpZ(1) AAS
@ECHO OFF
REM 単項演算子 ! を使用しないNOT演算
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /L %%I IN (-3,1,3) DO (
SET /A A=%%I
SET /A "B=~(A|-A)>>31&1"
ECHO A=!A! , NOT A=!B!
)
PAUSE
IF使えば簡単だけど
963: 2018/11/09(金)09:53 ID:3Y5lMbnv(1/4) AAS
%~nx0 が変だ
>dir /b
test.bat
>type test.bat
@echo file="%~nx0"
>test
file="test.bat"
>"test"
file="test"
>
964: 2018/11/09(金)11:09 ID:3Y5lMbnv(2/4) AAS
どうも先頭の引用符が怪しい
>.\"test"
file="test.bat"
>test"
file="test.bat"
>"test
file="test"
>
965: 2018/11/09(金)17:30 ID:3Y5lMbnv(3/4) AAS
>te"st
file="test.bat"
966: 2018/11/09(金)19:53 ID:BPg47oOK(1) AAS
test.exe.bat
967: 2018/11/09(金)21:20 ID:3Y5lMbnv(4/4) AAS
>t"E"s"T"
file="test.bat"
>"t"E"s"T"
file="t"E"s"T"
先頭が引用符だと
%~nx0 は入力丸写しの
拡張子無視のバカ仕様らしい
968(1): 2018/11/14(水)01:02 ID:fbx51wpG(1) AAS
7z の個別連続圧縮のやり方を教えてください。
あまり詳しくなくてネットを見て見よう見まねで作ったので自分でもよく分かってません。
@echo off
set exe7z="C:\Program Files\7-Zip\7z.exe"
:start
if "%~1"=="" exit /b
%exe7z% a -r -mmt=on -mx=9 -ssw -txz "%~dpnx1.7z" "%~1"
shift
goto start
このままだと作成された 7z のファイル名に元ファイルの拡張子が付いてしまいます。
dpn1 だとファイル名の拡張子は消えるけど、作成された 7z の中のファイルは拡張子が消えた状態になってしまいます。
ファイル名から元の拡張子を消し、中のファイルは拡張子を残したままってどこを変えればよいのでしょうか?
969: 2018/11/14(水)06:32 ID:JBsUV7Ak(1/2) AAS
単に7zipのcliコマンドオプションの使い方で、バッチと関係ないなあ...
970: 2018/11/14(水)06:39 ID:vPR2E9Wi(1/2) AAS
-txz だと書庫のヘッダににファイル名の情報は無い
書庫名を変えて開くと中のファイル名も同じく変わるだけ
中身は同じ
971: 2018/11/14(水)06:57 ID:JBsUV7Ak(2/2) AAS
要するにxzファイルフォーマットの限界だな。ファイル名を保持する機能が無い
972: 2018/11/14(水)07:10 ID:vPR2E9Wi(2/2) AAS
だから複数ファイルの圧縮も出来ない
973: 2018/11/15(木)02:26 ID:/pNu0fIl(1) AAS
できないのか。残念。
974: 2018/11/15(木)03:44 ID:sPg3U71k(1) AAS
xzじゃないとダメなの?
zipやrarや7zにしちゃダメなの?
975: 2018/11/15(木)04:23 ID:eQKfIPvp(1) AAS
反応遅っっw
976: 2018/11/15(木)04:24 ID:MW4yWYe4(1) AAS
>>968 が何をしたいのか分からん。
-txz なのに拡張子が .7z になってる。
なぜ .xz にしないのか。
977(1): 2018/11/19(月)19:31 ID:qVZWX1fW(1) AAS
ところで、結局、DOSでの圧縮はどの形式がおすすめ?
978: 2018/11/19(月)20:03 ID:Qq88xGOU(1) AAS
DOSなんてもう使ってないし
979(1): 2018/11/19(月)20:26 ID:8P0ZFwQc(1) AAS
>>977
lzh 一択
980: 2018/11/19(月)23:22 ID:uf9ZfFD/(1) AAS
>>979
右に同じ
981(1): 2018/11/20(火)03:39 ID:rmOcRzV5(1) AAS
lzhは脆弱性があるから使うべきではない
zip一択
DOSで使えるzipアプリがあるかどうかは知らん
982: 2018/11/20(火)06:48 ID:TCh3BaRv(1) AAS
>>981
> lzhは脆弱性があるから使うべきではない
脆弱性は対策されてるよ
使用しない方がいいと言うのはlzhの脆弱性じゃなくてアンチウイルスソフトが対応しないから
983(3): 2018/11/20(火)09:38 ID:O/AOgigh(1) AAS
そもそもアンチウィルスソフトに対応してもらえないってのが脆弱性でしょ。
事実上公式最新版のUNLHA.DLLはソース非公開で
ソース公開してる古いDOS版はヘッダ構造体がサイズ固定で静的に確保されてるから、
例えばDOSでは考慮しなくて良かった数千文字の
長いファイル名があるとバッファオーバーランを引き起こす。
アンチウィルスソフトによってはDOS版のソースを使ってるので
バッファオーバーランを発生させるようなヘッダを不正扱いして
該当書庫のそれ以降の圧縮ファイルの検査をスルーするものがあるが、
そのような検査されない圧縮ファイルであっても事実上公式のUNLHA.DLLでは解凍できてしまう。
検査はされないが解凍できてしまうようなファイルにウィルスしこまれたら大変ってのが「脆弱性」なわけ。
アンチウィルスソフトが対応してくれないなら脆弱性は対策されてるとは言えないっしょ。
対処法は誰かが移植性の高いソースコードを書いて公開するぐらいしかないよーな。
984: 2018/11/20(火)21:31 ID:9NuM4Bsa(1) AAS
>>983
どっちもねーよアホンダラ。
LHA は日本独自の圧縮アルゴリズム&zipに追い越された。
いわゆるガラパゴス技術。いらん。
数年前まで役所が .lzh とかで何かしら添付ファイル送ってくることがあって文句付けようかと思ったことがある。
985(1): 2018/11/20(火)22:34 ID:7AOElbkD(1) AAS
>>983
今時16bit環境なんかで使ってる奴いないだろ
unlha32.dllは脆弱性の対策されてるから言いがかりレベル
986: 2018/11/20(火)22:42 ID:U4aYcO/c(1/2) AAS
純粋なDOS(16bit)を使っててウィルスが怖いなんて思う人いるのか
上下前次1-新書関写板覧索設栞歴
あと 16 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.012s