拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1424858999/
それ以前の過去スレ
%10 http://peace.2ch.net/test/read.cgi/tech/1374205515/
%9 http://toro.2ch.net/test/read.cgi/tech/1335015478/
%8 http://toro.2ch.net/test/read.cgi/tech/1315844420/
%7 http://hibari.2ch.net/test/read.cgi/tech/1298873550/
%6 http://hibari.2ch.net/test/read.cgi/tech/1277465356/
%5 http://pc12.2ch.net/test/read.cgi/tech/1242268171/
%4 http://pc12.2ch.net/test/read.cgi/tech/1229955189/
%3 http://pc11.2ch.net/test/read.cgi/tech/1217860043/
%2 http://pc12.2ch.net/test/read.cgi/tech/1197881068/
%1 http://pc11.2ch.net/test/read.cgi/tech/1178281991/
探検
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2017/03/11(土) 13:47:11.66ID:2LSSeyH1
952デフォルトの名無しさん
2018/11/06(火) 08:19:38.89ID:NUZ4yNuE 言語仕様に謎が多すぎて業務に使うには怖い
953デフォルトの名無しさん
2018/11/06(火) 10:53:18.93ID:XCQlzVed 標準インストールされてるという以外に長所はないよなぁ
954デフォルトの名無しさん
2018/11/06(火) 11:06:43.59ID:OYWwvpi1 今のWindowsなら、Powerchell?、WSH?なら、標準インストールされているが・・・・。
以前なら、REXX(PC-DOS)とか、QBASICあたり?
でも、使い物になるのは・・・・。
以前なら、REXX(PC-DOS)とか、QBASICあたり?
でも、使い物になるのは・・・・。
955デフォルトの名無しさん
2018/11/06(火) 11:25:34.30ID:CgLejKNb QBASICは中身がないので別途買わないと動かないよ
956デフォルトの名無しさん
2018/11/06(火) 14:54:37.43ID:7wQVLanf957デフォルトの名無しさん
2018/11/06(火) 15:53:15.52ID:4bA2Iy3p >>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)"
オペランドがありません。
謎ですねえ
>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:47.52ID:4bA2Iy3p たぶん式に遅延変数があると2回展開してるんじゃ?
959デフォルトの名無しさん
2018/11/06(火) 16:35:24.41ID:4bA2Iy3p 遅延変数が無くても
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 になってると思う
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:03.38ID:4bA2Iy3p 遅延無しの環境では二重引用符だけでエスケープは要らないようだ
>cmd /v:off
>set /a "a=!(123^123)"
1
>
>cmd /v:off
>set /a "a=!(123^123)"
1
>
961デフォルトの名無しさん
2018/11/07(水) 07:55:29.42ID:BI4/Q6Ue 遅延モードでは式の中に ! 文字があると展開の処理が違うんだろう。
だから ^ 文字の扱いも変化する。
だから ^ 文字の扱いも変化する。
962デフォルトの名無しさん
2018/11/08(木) 07:17:29.99ID:9iJL9tpZ @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使えば簡単だけど
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:58.29ID:3Y5lMbnv %~nx0 が変だ
>dir /b
test.bat
>type test.bat
@echo file="%~nx0"
>test
file="test.bat"
>"test"
file="test"
>
>dir /b
test.bat
>type test.bat
@echo file="%~nx0"
>test
file="test.bat"
>"test"
file="test"
>
964デフォルトの名無しさん
2018/11/09(金) 11:09:53.39ID:3Y5lMbnv どうも先頭の引用符が怪しい
>.\"test"
file="test.bat"
>test"
file="test.bat"
>"test
file="test"
>
>.\"test"
file="test.bat"
>test"
file="test.bat"
>"test
file="test"
>
965デフォルトの名無しさん
2018/11/09(金) 17:30:33.44ID:3Y5lMbnv >te"st
file="test.bat"
file="test.bat"
966デフォルトの名無しさん
2018/11/09(金) 19:53:31.92ID:BPg47oOK test.exe.bat
967デフォルトの名無しさん
2018/11/09(金) 21:20:20.98ID:3Y5lMbnv >t"E"s"T"
file="test.bat"
>"t"E"s"T"
file="t"E"s"T"
先頭が引用符だと
%~nx0 は入力丸写しの
拡張子無視のバカ仕様らしい
file="test.bat"
>"t"E"s"T"
file="t"E"s"T"
先頭が引用符だと
%~nx0 は入力丸写しの
拡張子無視のバカ仕様らしい
968デフォルトの名無しさん
2018/11/14(水) 01:02:30.37ID:fbx51wpG 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 の中のファイルは拡張子が消えた状態になってしまいます。
ファイル名から元の拡張子を消し、中のファイルは拡張子を残したままってどこを変えればよいのでしょうか?
あまり詳しくなくてネットを見て見よう見まねで作ったので自分でもよく分かってません。
@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:53.24ID:JBsUV7Ak 単に7zipのcliコマンドオプションの使い方で、バッチと関係ないなあ...
970デフォルトの名無しさん
2018/11/14(水) 06:39:30.75ID:vPR2E9Wi -txz だと書庫のヘッダににファイル名の情報は無い
書庫名を変えて開くと中のファイル名も同じく変わるだけ
中身は同じ
書庫名を変えて開くと中のファイル名も同じく変わるだけ
中身は同じ
971デフォルトの名無しさん
2018/11/14(水) 06:57:09.62ID:JBsUV7Ak 要するにxzファイルフォーマットの限界だな。ファイル名を保持する機能が無い
972デフォルトの名無しさん
2018/11/14(水) 07:10:28.19ID:vPR2E9Wi だから複数ファイルの圧縮も出来ない
973デフォルトの名無しさん
2018/11/15(木) 02:26:56.15ID:/pNu0fIl できないのか。残念。
974デフォルトの名無しさん
2018/11/15(木) 03:44:20.67ID:sPg3U71k xzじゃないとダメなの?
zipやrarや7zにしちゃダメなの?
zipやrarや7zにしちゃダメなの?
975デフォルトの名無しさん
2018/11/15(木) 04:23:57.43ID:eQKfIPvp 反応遅っっw
976デフォルトの名無しさん
2018/11/15(木) 04:24:41.49ID:MW4yWYe4977デフォルトの名無しさん
2018/11/19(月) 19:31:45.62ID:qVZWX1fW ところで、結局、DOSでの圧縮はどの形式がおすすめ?
978デフォルトの名無しさん
2018/11/19(月) 20:03:49.96ID:Qq88xGOU DOSなんてもう使ってないし
979デフォルトの名無しさん
2018/11/19(月) 20:26:27.04ID:8P0ZFwQc >>977
lzh 一択
lzh 一択
980デフォルトの名無しさん
2018/11/19(月) 23:22:31.08ID:uf9ZfFD/ >>979
右に同じ
右に同じ
981デフォルトの名無しさん
2018/11/20(火) 03:39:49.15ID:rmOcRzV5 lzhは脆弱性があるから使うべきではない
zip一択
DOSで使えるzipアプリがあるかどうかは知らん
zip一択
DOSで使えるzipアプリがあるかどうかは知らん
982デフォルトの名無しさん
2018/11/20(火) 06:48:32.61ID:TCh3BaRv983デフォルトの名無しさん
2018/11/20(火) 09:38:17.04ID:O/AOgigh そもそもアンチウィルスソフトに対応してもらえないってのが脆弱性でしょ。
事実上公式最新版のUNLHA.DLLはソース非公開で
ソース公開してる古いDOS版はヘッダ構造体がサイズ固定で静的に確保されてるから、
例えばDOSでは考慮しなくて良かった数千文字の
長いファイル名があるとバッファオーバーランを引き起こす。
アンチウィルスソフトによってはDOS版のソースを使ってるので
バッファオーバーランを発生させるようなヘッダを不正扱いして
該当書庫のそれ以降の圧縮ファイルの検査をスルーするものがあるが、
そのような検査されない圧縮ファイルであっても事実上公式のUNLHA.DLLでは解凍できてしまう。
検査はされないが解凍できてしまうようなファイルにウィルスしこまれたら大変ってのが「脆弱性」なわけ。
アンチウィルスソフトが対応してくれないなら脆弱性は対策されてるとは言えないっしょ。
対処法は誰かが移植性の高いソースコードを書いて公開するぐらいしかないよーな。
事実上公式最新版のUNLHA.DLLはソース非公開で
ソース公開してる古いDOS版はヘッダ構造体がサイズ固定で静的に確保されてるから、
例えばDOSでは考慮しなくて良かった数千文字の
長いファイル名があるとバッファオーバーランを引き起こす。
アンチウィルスソフトによってはDOS版のソースを使ってるので
バッファオーバーランを発生させるようなヘッダを不正扱いして
該当書庫のそれ以降の圧縮ファイルの検査をスルーするものがあるが、
そのような検査されない圧縮ファイルであっても事実上公式のUNLHA.DLLでは解凍できてしまう。
検査はされないが解凍できてしまうようなファイルにウィルスしこまれたら大変ってのが「脆弱性」なわけ。
アンチウィルスソフトが対応してくれないなら脆弱性は対策されてるとは言えないっしょ。
対処法は誰かが移植性の高いソースコードを書いて公開するぐらいしかないよーな。
984デフォルトの名無しさん
2018/11/20(火) 21:31:14.05ID:9NuM4Bsa >>983
どっちもねーよアホンダラ。
LHA は日本独自の圧縮アルゴリズム&zipに追い越された。
いわゆるガラパゴス技術。いらん。
数年前まで役所が .lzh とかで何かしら添付ファイル送ってくることがあって文句付けようかと思ったことがある。
どっちもねーよアホンダラ。
LHA は日本独自の圧縮アルゴリズム&zipに追い越された。
いわゆるガラパゴス技術。いらん。
数年前まで役所が .lzh とかで何かしら添付ファイル送ってくることがあって文句付けようかと思ったことがある。
985デフォルトの名無しさん
2018/11/20(火) 22:34:45.84ID:7AOElbkD986デフォルトの名無しさん
2018/11/20(火) 22:42:17.88ID:U4aYcO/c 純粋なDOS(16bit)を使っててウィルスが怖いなんて思う人いるのか
987デフォルトの名無しさん
2018/11/20(火) 22:44:33.63ID:htpgQQTF win95か98だとしたら背筋が凍る
988デフォルトの名無しさん
2018/11/20(火) 22:50:05.05ID:U4aYcO/c >>987
いやだからDOSを狙ったウィルスなんかが今時流通してるって思うのかってことさ
いやだからDOSを狙ったウィルスなんかが今時流通してるって思うのかってことさ
989デフォルトの名無しさん
2018/11/21(水) 00:32:47.70ID:dG4a7MEF990デフォルトの名無しさん
2018/11/21(水) 06:43:17.14ID:sFoC6dAL >>989
馬鹿なの?
そんなのlhzに限らずどんな書庫ファイルでも同じだろ
単にアンチウイルスソフトが対応しなかっだけの話
まあグローバルに展開してるマカフィーやシマンテックから見たら極東でちょっと流行ってただけのファイルフォーマットにいちいち対応してられるかよって思うのも無理はないわな
馬鹿なの?
そんなのlhzに限らずどんな書庫ファイルでも同じだろ
単にアンチウイルスソフトが対応しなかっだけの話
まあグローバルに展開してるマカフィーやシマンテックから見たら極東でちょっと流行ってただけのファイルフォーマットにいちいち対応してられるかよって思うのも無理はないわな
991デフォルトの名無しさん
2018/11/21(水) 08:07:38.87ID:dG4a7MEF >>990
いや、lzhのヘッダは安全性そっちのけで拡張性と互換性を優先した結果、
論理的な最大ヘッダサイズが4ギガバイト(要するに制限がない)とか酷い事になってるからねぇ……
例えば最大で64キロバイト程度のzipなんかと同等に並べるのはちょっと無理じゃねーかと。
いや、lzhのヘッダは安全性そっちのけで拡張性と互換性を優先した結果、
論理的な最大ヘッダサイズが4ギガバイト(要するに制限がない)とか酷い事になってるからねぇ……
例えば最大で64キロバイト程度のzipなんかと同等に並べるのはちょっと無理じゃねーかと。
992デフォルトの名無しさん
2018/11/21(水) 09:43:13.45ID:nqncv/qX993デフォルトの名無しさん
2018/11/21(水) 09:46:53.64ID:sFoC6dAL994デフォルトの名無しさん
2018/11/21(水) 09:50:12.82ID:sFoC6dAL995デフォルトの名無しさん
2018/11/21(水) 11:07:43.06ID:dG4a7MEF >>993
おいおい……
64キロバイトを一括でメモリに読み込んで処理すんのと
4ギガバイトを逐次読み込んで処理しなきゃいけないのとでは
実装の難易度もコストも全然違うんだけど……
初心者でもわかりやすいところで言えば
64キロバイトの方はメモリが潤沢にあれば静的なメモリ確保でもいいけど
4ギガバイトの方は普通は動的なメモリ確保が必須になるし。
おいおい……
64キロバイトを一括でメモリに読み込んで処理すんのと
4ギガバイトを逐次読み込んで処理しなきゃいけないのとでは
実装の難易度もコストも全然違うんだけど……
初心者でもわかりやすいところで言えば
64キロバイトの方はメモリが潤沢にあれば静的なメモリ確保でもいいけど
4ギガバイトの方は普通は動的なメモリ確保が必須になるし。
996デフォルトの名無しさん
2018/11/21(水) 11:11:51.13ID:guoVPW2S ・
997デフォルトの名無しさん
2018/11/21(水) 11:49:46.67ID:eSuVM7gW ・
998デフォルトの名無しさん
2018/11/21(水) 12:29:53.03ID:sFoC6dAL999デフォルトの名無しさん
2018/11/21(水) 12:35:19.04ID:sFoC6dAL そもそも動的メモリー確保が難しいとかどんだけレベル低いんだよ w
1000デフォルトの名無しさん
2018/11/21(水) 12:36:54.21ID:sFoC6dAL と言う事でバカの頭に脆弱性があっただけ
終わり w
終わり w
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 619日 22時間 49分 43秒
新しいスレッドを立ててください。
life time: 619日 22時間 49分 43秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- NHK、受信料の未払い世帯に督促強化へ 民事手続きの新組織を設置 差し押さえなどの強制執行も ★2 [1ゲットロボ★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」★2 [冬月記者★]
- 【悲報】高市早苗を妄信している今の日本人見ると80年前も市民は進んで戦争協力してたんだって理解出来るよね🥺 [616817505]
- んなっても良いお🏡
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 自民&維新「防衛費GDP比2%では到底足りない」 [177178129]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 【朗報】中国との戦争、世論調査で「賛成」が「反対」を上回るwwwwwwwww
