[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/23 16:05 / Filesize : 297 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【.cmd】 バッチファイルスクリプト %14 【.bat】



1 名前:デフォルトの名無しさん mailto:sage [2020/08/15(土) 07:00:26 ID:f3kW5kCx.net]
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです

※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう

過去スレ
%13 mevius.2ch.net/test/read.cgi/tech/1542779527/
%12 mevius.2ch.net/test/read.cgi/tech/1489207631/
%11 echo.2ch.net/test/read.cgi/tech/1424858999/
%10 peace.2ch.net/test/read.cgi/tech/1374205515/
%9 toro.2ch.net/test/read.cgi/tech/1335015478/
%8 toro.2ch.net/test/read.cgi/tech/1315844420/
%7 hibari.2ch.net/test/read.cgi/tech/1298873550/
%6 hibari.2ch.net/test/read.cgi/tech/1277465356/
%5 pc12.2ch.net/test/read.cgi/tech/1242268171/
%4 pc12.2ch.net/test/read.cgi/tech/1229955189/
%3 pc11.2ch.net/test/read.cgi/tech/1217860043/
%2 pc11.2ch.net/test/read.cgi/tech/1197881068/
【.cmd】 バッチファイルスクリプト %1 【.bat】
pc11.2ch.net/test/read.cgi/tech/1178281991/
バッチファイルプログラミング 3.bat
pc11.2ch.net/test/read.cgi/tech/1148485555/
バッチファイルプログラミング 2.bat
pc8.2ch.net/test/read.cgi/tech/1104911889/
バッチファイルプログラミング質問スレ
pc5.2ch.net/test/read.cgi/tech/1040614686/

367 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 16:04:27.85 ID:rR7+iwTB.net]
@echo off
:LOOP
if not exist "%~nx1" pause &exit /b
if exist "%~n1_k_h265.mp4" echo ERROR: 出力と同名のファイルが存在します&pause &exit /b
ffmpeg.exe -i "%~nx1" -c:v libx265 -c:a copy -crf 22 -tag:v hvc1 "%~n1_k_h265.mp4"
shift /1
goto :LOOP

368 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 17:15:47.13 ID:79X4wBHs.net]
>>360
ffmpeg.exe文の前にecho を付けて画面表示を見てみろ
質問の前にそれぐらい自分でやれよ

369 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 17:35:20.23 ID:JwKVF6M3.net]
@echo off って完成してからつけるものじゃないのか
最初からあるなんて随分と自信があるんだなぁ

370 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 17:36:38.68 ID:3SVggb9G.net]
だよな

371 名前:デフォルトの名無しさん [2021/09/01(水) 21:20:41.59 ID:CWQ1EA8H.net]
>>362
ありがとうございます!

372 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 21:32:18.07 ID:79X4wBHs.net]
丸投げ質問はやめてくれ

373 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 21:55:30.34 ID:t7KCJs9B.net]
なんだ、>>362でうまくいったのか
つまりエラーは変換先のファイルが存在しててffmpegでエラーが出たってことだったのか
俺はエラー内容が書かれてなかったんで他のことを考えてたよ
"あい うえお.mp4"とかパスに半角空白が無くて全角空白がある場合とかね

374 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 21:55:32.25 ID:MGC13/Ge.net]
はいw

375 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 22:51:40.87 ID:79X4wBHs.net]
-i のところやろ



376 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 23:03:16.29 ID:UTT/foLD.net]
例えば、デスクトップにショートカットを作る。
コマンドプロンプトを起動して、Ruby スクリプト・a.rb を実行する

リンク先
C:\Windows\System32\cmd@.exe /k "ruby C:/Users/Owner/Documents/a.rb"
(ただし、書き込めないので、間に@を入れました)

作業フォルダ
C:\Users\Owner\Desktop

例えば、a.rb 内では、以下のようにRubyスクリプト内で、
7zip を起動して、ドロップしたファイルのSHA256 ハッシュ値を求める

command = "C:/Program Files/7-Zip/7z.exe"
option = " h -scrcsha256 "

ARGV.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
res = `#{ '"' + command + '"' + option + '"' + full_path + '"' }` # コマンド実行

puts full_path + res + ( "-" * 20 )
end

(ARGV は配列で、そこにコマンドライン引数・ドロップしたファイルパスが渡ってくる)

それで、ショートカットに、複数のファイルをdrag&drop すると、
コマンドプロンプトが起動して、各ファイルのハッシュ値が求められる

ただし、空白入りの実行ファイルのパスの前後を、"〜" で囲む事で、
Program Files の空白文字も処理できるが、
ドロップしたファイルパスに空白文字があると、
パスの前後を、"〜" で囲んでも、エラーになって処理できない

377 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 23:06:19.43 ID:79X4wBHs.net]
突然どうした?

378 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 23:11:28.11 ID:79X4wBHs.net]
ハッシュほしいならcertutilつかえば

379 名前:371 mailto:sage [2021/09/01(水) 23:21:55.11 ID:UTT/foLD.net]
ハッシュ値を求めるのは、単なる例え。
ffmpeg の代わりに使っただけ

Ruby スクリプト内で、別のプログラムを呼ぶと、
ドロップされたファイルパス内の空白文字で、はまると言うこと

380 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 23:24:46.32 ID:RTATUgNE.net]
こんなところにまでruby基地がw

381 名前:デフォルトの名無しさん mailto:sage [2021/09/02(木) 09:08:23.07 ID:7LFIE/54.net]
偉ぶりたい底辺コーダーや引きこもりがここぞとばかりにワラワラとw

382 名前:371 mailto:sage [2021/09/02(木) 11:56:43.51 ID:SBJQlu/e.net]
>>371
に書いたように、コマンドプロンプトから、Ruby スクリプトを起動する方法では、
ドロップしたファイルパスに空白文字があると、バグる

PowerShell から、Ruby スクリプトを起動する方法では、
ドロップした複数のファイルパスを渡す方法が分からない

結局、以下のように、Ruby スクリプトを直接起動する方法では、
空白文字でも、複数のファイルパスでも、バグらない

ショートカットのリンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/a.rb

puts ARGV # ドロップした複数のファイルパスの配列

sleep # 出力したコマンドプロンプト画面を閉じないようにする

383 名前:デフォルトの名無しさん mailto:sage [2021/09/02(木) 12:14:08.51 ID:ctEO1PZh.net]
既視感あると思ったら >>156 に同じようなのがあるね
書き方似てるし >>362 と同じ人なんだろうか
start の有無の違いはなんで?

384 名前:デフォルトの名無しさん [2021/09/02(木) 12:46:43.02 ID:6AISeI88.net]
>>360
>>362
すみません、複数ファイルドロップしたら1つ目しかできませんでした!
あと、自分は全くプログラミングの勉強してなくて検索したものをツギハギでつくってるのでechoがどうとかよく分かってなかったです
echoをonにするとどうなんですか?

385 名前:デフォルトの名無しさん mailto:sage [2021/09/02(木) 13:31:10.74 ID:ctEO1PZh.net]
>>379
https://www.google.com/search?q=windows+%E3%83%90%E3%83%83%E3%83%81+%E5%85%A5%E9%96%80
1ページ目に表示されてるサイト全部巡って読めば少しは分かるようになると思うよ



386 名前:371 mailto:sage [2021/09/02(木) 13:39:27.82 ID:SBJQlu/e.net]
Ruby では、>>377
に書いたように、起動引数・ARGV は配列で、
そこに、ドロップした複数のファイルパスが入ってくる

出力
C:\Users\Owner\Documents\x
C:\Users\Owner\Documents\あ.txt

フォルダx と、ファイル・あ.txt

387 名前:デフォルトの名無しさん mailto:sage [2021/09/02(木) 13:48:04.44 ID:siHMRGTz.net]
>>378
知らないけどffmpegが終わるまで待ちたいのでは

388 名前:デフォルトの名無しさん mailto:sage [2021/09/02(木) 14:17:42.40 ID:D5kjhyGc.net]
>>379
前の質問もそうだが、どうして現象を説明しないの?
俺らが君のPCの画面やファイルを眺められるわけないじゃん
エラーなら、入力した内容やファイル内容やどこまで実行されててどういう状態になってるとか書かないとわからんだろ
あと362なら先頭行を削除して実行すればpauseで終了時点の状態がわかるだろ

389 名前:デフォルトの名無しさん mailto:sage [2021/09/02(木) 14:24:25.53 ID:D5kjhyGc.net]
あと一個とか言ったけど、以前エラーになったオペレーションだと正常になったけど
新たに別のケースが出てきたってことか?
それとも以前エラーになったものは試してないってことか?
即答でありがとうなんて書けばこっちは正常になったと勘違いするだろ
あと、エラー状態は>>368の場合に該当しなかったということでいいか?

390 名前:デフォルトの名無しさん mailto:sage [2021/09/02(木) 15:55:55.97 ID:e/2zM0cp.net]
>>379
コピペったバッチはShiftJISで保存した?
ドラッグ&ドロップするファイルの上位ディレクトリの名前かファイル名に半角スペースを含めてもう一度試してみ
ファイルやパスにShiftJIS外の文字や記号を含んでいるなら削除
それでもダメだったらファイル類を「パスのコピー」してここに貼ってみな

391 名前:デフォルトの名無しさん [2021/09/02(木) 19:03:44.33 ID:lSTkj0Rg.net]
>どうして現象を説明しないの?

馬鹿につきあって解答する馬鹿がいるからです

392 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 08:16:34.23 ID:61QsYzlD.net]
echoを理解できない初心者に説明しろと言っても無理

393 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 08:53:30.59 ID:VqiIv6Pi.net]
え、ちょっw(echo)

394 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 19:05:48.55 ID:nhGnJ2O1.net]
素直にコード貼るだけ全然優良でしょ
オレオレ用語使う、コード端折る、妙にプライドがある奴はマジで神経擦り減る

395 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 00:32:37.15 ID:ExeocnPJ.net]
ほんとにな
完全同意だわ



396 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 08:48:55.08 ID:fYT9QIuD.net]
echoなんてデバッグ用に変数の値を見たくなったときにでも覚えたら良いさ

397 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 20:59:18.22 ID:h9G3o9Tj.net]
USBデバイス(マイク)の有効/無効を切り替えるバッチファイルを書いているんですが、
forループ内でファイルパスを展開してコマンドを実行する部分で躓いています。

()内での %DEVCON% (devcon.exeの絶対パス)の展開部分ですが
''や、usebackqを使用して``とすると、にすると半角スペースごとに別文字列として展開される
``にすると絶対パスの先頭に`が付いたパスとして認識され、ファイルが見つからないエラーになる

forループの()内で変数を展開してコマンドを実行する方法が分かりません。
以下が作成したファイルの内容です。ご教示お願いします。

@echo off

:: devcon.exeのパス(64bit)
@set DEVCON="C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe"

:: マイクの無効と有効
:: AT2020USB+
:: %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"
:: %DEVCON% enable "USB\VID_0909&PID_001C&REV_0100&MI_00"

FOR /F "tokens=3 usebackq" %%a IN (`%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"`) do set "STATUS=%%a"

IF "%STATUS%" == "running." (
%DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
) ELSE (
%DEVCON% enable "USB\VID_0909&PID_001C&REV_0100&MI_00"
)

398 名前:392 mailto:sage [2021/09/05(日) 21:01:57.75 ID:h9G3o9Tj.net]
抜けがありました

14 %DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
14 %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"

399 名前:デフォルトの名無しさん [2021/09/05(日) 21:50:58.36 ID:qFDUcsKU.net]
カレントフォルダをC:\Program Files (x86)\Windows Kits\10\Tools\x64 に移動してから
set DEVCON="devcon.exe" にしてみるとか

400 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:12:50.15 ID:GdXH1yQe.net]
>>392
FOR /F "tokens=3" %%a IN ('^"%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"^"') DO set "STATUS=%%a"

401 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:17:55.22 ID:GdXH1yQe.net]
>>392
あるいは>>392のFOR文のままで
@set DEVCON=C:"\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe"

402 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 23:48:28.37 ID:UFxCuC9Y.net]
漏れは、ショートカットにDrag and Drop してみた結果、
結論として、コマンドプロンプトでは、ファイルパス中の半角空白を処理できない

PowerShell(PS)でも難しいかも

漏れは結局、Ruby を使っている

特に、コマンドプロンプトだけはやめて、PSを使った方が、マシかも

403 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 23:54:22.00 ID:GdXH1yQe.net]
上のはそういう話じゃない

404 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 00:15:22.61 ID:x7bnJBcc.net]
>>396
両端に"がこなくするってのはアイデアだな

405 名前:392 mailto:sage [2021/09/06(月) 02:00:45.36 ID:y69jRxqh.net]
>>395-396
ありがとうございます!できました



406 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 07:15:12.30 ID:yJI9//ND.net]
ほえ〜、横からだけど目からウロコだわ >>396
為になった、さんきゅう

407 名前:デフォルトの名無しさん [2021/09/17(金) 15:37:36.70 ID:gyqQtjrG.net]
質問です。
メモ帳に「移動元のファイルの場所 移動先のファイルの場所」が絶対パスで半角スペースで区切られています。
これを読み込み指示通りにファイルを移動させたいのですがどのように書くといいでしょうか?
また、リネームする必要があるファイルもあるのですがどうするといいでしょうか?
「C:\aa\bb.jpg D:\aa\cc.jpg」

408 名前:デフォルトの名無しさん mailto:sage [2021/09/17(金) 17:20:03.57 ID:i/XCCF5h.net]
forで読んでmoveで移動
もしechoの分からない人ならやめとけ

409 名前:デフォルトの名無しさん mailto:sage [2021/09/17(金) 22:37:54.43 ID:vaLPoEyz.net]
「for バッチファイル」でググって訳がわからないようなら 、適当なエディタで開いて、" でくくるのを前提に
行頭、スペースとドライブ文字、行末、を置換してbatファイルとして名前を付けて保存

move "C:\aa\bb.jpg" "D:\aa\cc.jpg"

みたいになるように

なを、ファイル名にsjis

410 名前:じゃない何かが無い前提 []
[ここ壊れてます]

411 名前:デフォルトの名無しさん mailto:sage [2021/09/17(金) 23:29:19.93 ID:O1PoA15N.net]
バッチは、ややこしい。
Power Shell, Ruby などでやれば?

それに、そのファイルは半角空白で区切っているけど、
Windows では、ファイルパスに半角空白も入るから、バグるので、

普通に、CSV 形式にすると良い。
その代わり、CSVパーサーが必要になるけど

タブ区切りのTSV も良い。
さすがにタブ文字・改行コードは、ファイルパスには入らないだろうから、簡単に取り出せる

412 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 00:13:27.23 ID:q5iJ5tLu.net]
for /f "tokens=1* delims= " %%a in (List.txt) do (
set ERR=
if not exist "%%~a" set /a ERR+=2
if exist "%%~b" set /a ERR+=1
if not defined ERR (move "%%~a" "%%~b") else call echo ERROR:%%ERR%% "%%~a" "%%~b">>errlog.txt
)
pause

413 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 06:22:21.02 ID:KTV+OCDB.net]
横からすまんが半角スペース入りパスだとダメだよそれ

414 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 06:34:39.03 ID:KTV+OCDB.net]
移動先フォルダがないとmdで作成してやらんとエラーになるし
移動先に同名の既存ファイルがあるかも知れないし

415 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 07:21:16.02 ID:ALBIVGfh.net]
いちいち横からイチャモン言う間あったらおまえがサクッと書いて貼れば済む話
ksの典型
>>402 が言ってもないことまで至れり尽くせりしてやる必要ねーだろ



416 名前:デフォルトの名無しさん [2021/09/18(土) 08:54:34.49 ID:d7JASW2c.net]
>>402です。
うまくできました。
半角スペースや日本語などは使われていませんでした。
分からないところはググりながらやってみます。
ありがとうございました。

417 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 11:01:52.40 ID:7qS0Ehxx.net]
書き捨てにするようなコードを「かも知れない」で必要以上無駄に肥大化させるのはゴミ屋敷住人と同じ愚かな思考

418 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 12:50:48.70 ID:1ehO0L4U.net]
世の中にはプログラムすること自体が好きな人がいるんだよ
誰もが間違いなくその恩恵にあずかっているのに小馬鹿にするやつは
自分への軽蔑の視線に気付かない愚か者だ

419 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 21:08:19.94 ID:OLaJCV9P.net]
恩恵w
言い訳が論点ズレてく感じホンモノのガイジ臭

420 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 21:14:40.28 ID:PJ3Z1C6G.net]
こんなスレで一体、何を争う?

421 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 21:22:43.49 ID:gRgRQYIa.net]
別にこのスレでも書いてれば気にもとめないけどね
ただ今回はコードも貼らずに注文だけ言ってたからカチンとくる奴もいるだろうさ

422 名前:デフォルトの名無しさん mailto:sage [2021/09/19(日) 03:42:58.81 ID:uWgOxiqk.net]
つまり自分は書けないクセに「プログラムすること自体が好きな人」とやらにネタを提供してやってるんだと
そして自分のお陰で皆が恩恵に預かれるのだから自分は良い行いをしているんだと言いたいワケか
おいおい何様だよw

423 名前:デフォルトの名無しさん mailto:sage [2021/09/19(日) 06:31:47.09 ID:K9vn79WO.net]
C++と違ってideoneみたいのないからな

424 名前:デフォルトの名無しさん mailto:sage [2021/09/19(日) 09:03:44.20 ID:xPOv8IOw.net]
空白付ならデリミタを:にしてツギハギでいけそう

425 名前:デフォルトの名無しさん [2021/09/19(日) 12:51:30.97 ID:/yxUr6Cy.net]
rm -f /
だよって教えればいい



426 名前:392 mailto:sage [2021/09/20(月) 00:58:53.63 ID:we+8yYct.net]
-rfじゃないとほとんど何も消えないでしょ

427 名前:デフォルトの名無しさん mailto:sage [2021/09/22(水) 13:43:55.48 ID:KUdKcr1X.net]
今時バッチなんて書いてるのは物好きです
おれは物好き
バッドノウハウ大好きだ♥

428 名前:デフォルトの名無しさん mailto:sage [2021/09/22(水) 15:39:53.65 ID:oingLDSY.net]
バッチの利点
バッチ自体はウィルスにやられない
みんな違うから狙われにくい

429 名前:デフォルトの名無しさん mailto:sage [2021/09/22(水) 18:39:59.79 ID:1Sr76Ukf.net]
ウイルスは知らんがランサムウェアで暗号化されてナイナイはされるんじゃね?

430 名前:デフォルトの名無しさん mailto:sage [2021/09/22(水) 19:49:34.87 ID:HbYg107O.net]
これでバッチつくればいいぉw

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

431 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:17:21.36 ID:HAnV1WZK.net]
バッチ

432 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:25:53.79 ID:HAnV1WZK.net]
バッチの作り方聞きたくてコメントを書きこうもうとしたら、

433 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:26:29.06 ID:HAnV1WZK.net]
>>426
あれ、つづき・・・

434 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:29:35.54 ID:HAnV1WZK.net]
>>427
質問かこうとして、バッチのイメージを書くとなぜか、ERRORで弾かれる

435 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:36:10.32 ID:Veybj1d9.net]
cmd .exeを書いたとかそんなことか?



436 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:45:56.14 ID:bhMjP/u8.net]
作り方w
そこから?

437 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:47:46.52 ID:HAnV1WZK.net]
FOR DO

438 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:48:57.34 ID:HAnV1WZK.net]
しつれいしました。
fo do型式の構文を書いたらerrorになってしまう・・・

439 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 18:49:34.04 ID:HAnV1WZK.net]
for do型式でした

440 名前:デフォルトの名無しさん [2021/10/13(水) 18:51:20.12 ID:mAb+BQMQ.net]
for /?

これ以上の説明は掲示板では不可能だからな

441 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 20:37:11.25 ID:wdMk643f.net]
ここはコマンドインジェクション対策が入ってるからコード載せたいならgistとかに上げてそのURL貼ったほうが良い

442 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 20:51:02.94 ID:NsQsq1qz.net]
for /L %i in (0.5=1=11) do echo %i

443 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 21:17:55.30 ID:NsQsq1qz.net]
cmd.exe /c command

444 名前:デフォルトの名無しさん mailto:sage [2021/10/14(木) 02:43:30.00 ID:TuHqoxKX.net]
set /a a=b=c=0
こんな風にまとめて初期化出来るのは知ってたけど
set /a "c=(b=(a=400>>2)/25)>>2, a-b+c"
こんな書き方が出来る事に今更ながら気付いた

445 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 20:24:48.38 ID:NLG7IfQt.net]
UUエンコードしたらダメかな



446 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 21:13:25.70 ID:53pJc6NQ.net]
Base64の方がいいんじゃね
certutilで変換できる

447 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 22:55:44.35 ID:NLG7IfQt.net]
書込みテスト

C:\>certutil -f -encode in.bat in.b64
C:\>certutil -f -decode in.b64 out.bat
C:\>type in.b64
-----BEGIN CERTIFICATE-----
ZWNobyBoZWxsbyB3b3JsZA0K
-----END CERTIFICATE-----

C:\>

448 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 13:44:53.76 ID:0LRNIe6v.net]
>>440
certutil、知らなかった
whereしてみたらあった

449 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 17:19:52.54 ID:R7AYOhq0.net]
データだけのやつ
C:\>certutil -f -encodehex in.bat in.b64 1
C:\>certutil -f -decodehex in.b64 out.bat 1
C:\>type in.b64
ZWNobyBoZWxsbyB3b3JsZA0K

コマンド文の最後の1を4とか12にすると16進数

450 名前:デフォルトの名無しさん mailto:sage [2021/10/17(日) 19:11:59.67 ID:PSl5tmbR.net]
444

451 名前:デフォルトの名無しさん mailto:sage [2021/10/19(火) 15:20:48.60 ID:RYpZUHHW.net]
>>443
恥ずかしながら初めて知った
便利

452 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 01:56:17.90 ID:3qM4VvHD.net]
ダブルクリックで実行した時は最後にpauseしたいけどcmd.exeからコマンド打って実行した時はpauseを省きたい
ダブルクリックはショトカから実行するようにしてショトカに目印の引数を付けておくというのは思い付いたんだけど
それ以外、バッチ自身に判定させる方法ってありますか?

453 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 02:36:48.27 ID:/W0Foxxl.net]
>>446
起動時の引数をそのまま参照する非公式変数を見るとかで判別できるんじゃないかな
%cmdcmdline%

454 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 02:55:46.15 ID:/W0Foxxl.net]
記憶違いだった
cmd.exeを起動したオリジナルコマンドラインだ
それに非公式でもない

455 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 02:58:42.54 ID:lVKoKJNl.net]
@echo off
set a=%cmdcmdline%
echo hello
if /i not "%a:~1,1%"=="c" pause



456 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 03:54:49.34 ID:3qM4VvHD.net]
>>447-449
うひょw聞いて見るものですね。マジ感謝!
%cmdcmdline:~1,1%でセットせずとも行けるっぽいです
ありがとうございました

457 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 04:07:05.64 ID:lVKoKJNl.net]
>>450
%cmdcmdline:~1,1%
それやると、それ以降%cmdcmdline%の値が何故か変わるぞ
それ以降に%cmdcmdline%を参照しないなら問題ないがね

458 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 04:29:14.76 ID:3qM4VvHD.net]
>>451
謎な挙動しますね
echo %cmdcmdline%
として見てcmdから実行すると二度目の実行時に C となって3度目は echoはオフです となりました
if /i not "%cmdcmdline:~1.1%"=="c"
とする度にまるで
set "cmdcmdline=%cmdcmdline:~1.1%"
としてるかのような
こうならない為にわざわざ一旦setしてたんですね
なるほどです

459 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 08:32:44.52 ID:lVKoKJNl.net]
setlocal & if "%cmdcmdline:~1,1%"==":" pause

460 名前:デフォルトの名無しさん mailto:sage [2021/10/23(土) 20:34:55.19 ID:ChfdQawL.net]
自分を起動した親プロセスを特定すればいいのでは
ダブルクリックならexporer.exeになるはずだしcmd。exeならcmd。exe…なのか?

461 名前:デフォルトの名無しさん mailto:sage [2021/10/24(日) 03:28:13.19 ID:3uu+VZsn.net]
変数が壊れてもいいなら>>453でいいやろ。ただしsetlocalはいらん。
このif条件式だとcmd画面の2度目でも失敗しない。環境によるけど。
別変数に代入してもいいが中に&等の文字あるとエラーでこける。

462 名前:デフォルトの名無しさん mailto:sage [2021/10/24(日) 22:27:44.50 ID:jz1DejpB.net]
非公式変数で解決とか後々禍根を残しそうで嫌だな

463 名前:デフォルトの名無しさん mailto:sage [2021/10/25(月) 01:03:08.48 ID:vrczGOVO.net]
では禍根を残さないバッチを頼む

464 名前:デフォルトの名無しさん mailto:sage [2021/10/25(月) 01:10:34.48 ID:dZV3Jc+L.net]
非公式発言は撤回してるけど?

465 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 21:51:58.64 ID:PNXAVzCe.net]
windowsで半角空白や&付ファイル名が許可されてるんだから
バッチファイルにD&Dやsendtoした時の
半角空白とか&の扱いはWindows側で何とかして欲しいなと思う。



466 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 21:54:07.20 ID:tTd8I1wO.net]
バッチファイルに変換される言語&コンパイラ
https://github.com/toca/itch

467 名前:デフォルトの名無しさん mailto:sage [2021/10/29(金) 23:50:23.91 ID:+3zqc/Sp.net]
>>459
これも%cmdcmdline%を参照して処理するしかない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<297KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef