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%を参照して処理するしかない