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/
331 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 12:42:26.74 ID:4kURdFV7.net] >>325 配列の最後の要素は[-1]で指定できるよ https://stedolan.github.io/jq/manual/#ArrayIndex:.[2]
332 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 13:17:28.64 ID:ROFzyAkg.net] >>326 無知とはいえ、目からウロコです ありがとうございます、大変助かりました! あと、もう一つお聞かせ下さい 上のコマンドの結果を変数に入れたかったので、for文でdo setしたのですが、jqを使うと動作しません for /f "usebackq" %%a (curl -X GET %henkan% | jq -r ".body.playback.video_link[-1].url) do set urlhoge=%%a とやるとエラーになります またもやお教えいただけると助かります よろしくお願い致します
333 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 13:25:20.71 ID:ROFzyAkg.net] 連投すみません 自己解決しました パイプで別のコマンドを繋げてる時はカッコ内では | だけではなく ^| としなくてはならないのですね
334 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 15:01:46.57 ID:QCLSPIvL.net] 式評価が、行読み込み時とfor文の括弧内とで2回行われるので
335 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 16:39:15.67 ID:AGm1+oJ3.net] >>327 (`コマンド`)やろ "が一個なのも変
336 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 16:48:11.12 ID:AGm1+oJ3.net] inもないし
337 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 19:09:07.18 ID:ROFzyAkg.net] ああすみません、うる覚えてで打ってました for /f "usebackq" %%a in (`curl -X GET %henkanurl% ^| jq -r .body.playback.video_link[-1].url`) do set m3u8url=%%a これで無事に動きました
338 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 21:28:01.99 ID:Tt89WUNP.net] >>332 う「ろ」覚えな
339 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 21:36:38.14 ID:rdOjiFig.net] ×うろ ○うる
340 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 23:16:48.35 ID:0ziHLJ5Z.net] 売る
341 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 07:13:42.95 ID:ttKQ7L6u.net] うる覚えは誤り、または誤りから派生した方言だとされている うろ 空洞 うろん 怪しい、疑わしい、乱雑 から来ているから 「うろ覚え」 が正しいよ 見せて → 見して などと同様の変化でもあるだろう 見(い)せ(え)て(え) → 見(い)し(い)て(え) と母音が前の音に引っ張られ変化するパターン 言い易くなるからか幼児語などに多く見られ、都会に比べての昔の田舎の人など知能の劣る者らが用いる傾向がある
342 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 07:54:41.61 ID:7aPnDOA3.net] usebackqいらん
343 名前:デフォルトの名無しさん [2021/08/24(火) 11:06:35.68 ID:A9/4ufwo.net] お世話になります。 ---- boo.bat内容 ----- 01: @ECHO OFF 02: 03: SET list=A B C D 04: SET n=0 05: 06: FOR %%a IN (%list%) DO ( 07: ECHO %n% : %%a 08: SET /A n+=1 09: ) 10: 11: ECHO %n% ----- 出力 ----- 0 : A 0 : B 0 : C 0 : D 4 出力が、 0 : A 1 : B 2 : C 3 : D 4 とならないのはなぜ? また、このような出力を得たい時はどうすればよいですか?
344 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 11:10:52.17 ID:7aPnDOA3.net] set /? 読め
345 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 11:22:21.23 ID:qugHDfsR.net] callでサブルーちんに飛ばせばカウントされるよ for内は極力シンプルに
346 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 13:03:43.42 ID:ttKQ7L6u.net] @echo off &setlocal enabledelayedexpansion set "LIST=A B C D" set N=0 for %%a in (%LIST%) do echo !N! : %%~a&set /a N+=1 echo %N% pause &exit /b
347 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 00:21:43.26 ID:NZXLvzYN.net] 07: CALL ECHO %%n%% : %%%%a
348 名前:338 mailto:sage [2021/08/25(水) 08:35:00.27 ID:CHwZclnY.net] 340,341,342 ありがとう。 遅延?がどうこうって、勉強になりました。 単純な展開ですので、341の !var! 展開を使います。
349 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 12:37:01.24 ID:sbFyoxUW.net] ヘルプ読んでから質問してね
350 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 15:31:20.26 ID:Fod5ZYNl.net] CALL %FILENAME% CALL "%FILENAME%" 職場のパソコン変えたら上で動かなくて下に修正することになったんだけど仕様変更あった?
351 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 17:21:04.65 ID:sbFyoxUW.net] FILENAMEに区切り文字は無い?
352 名前:デフォルトの名無しさん [2021/08/25(水) 18:09:16.31 ID:eN7VzoDp.net] echo onなら環境変数展開後のコマンドラインが表示される なにがおかしいのかステップ実行で確認してから質問してくれ
353 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 18:59:42.87 ID:rpvOn9yc.net] >>347 ステップ実行して抜き出したのがこれなんだ
354 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 19:00:54.62 ID:rpvOn9yc.net] >>346 Onedrive同期してるフォルダーだからスペースとか今までなかったの増えてるかも
355 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 19:11:06.73 ID:sbFyoxUW.net] 区切り文字あればそれが原因でしょ 引数がフルパスなら上位フォルダもチェック 念の為にきくけどバッチファイルだよね
356 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 20:18:52.59 ID:lzuDi78b.net] >>345 こういう輩は、なんで自分以外がおかしい前提で話をするんだろう?
357 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 21:55:38.08 ID:Fod5ZYNl.net] >>351 こういうやつって掲示板にいる価値ないわ
358 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 22:12:01.88 ID:HCLFH+1o.net] 差し支えの無い範囲でFILENAMEの中身とかバッチを見せればいいのでは?
359 名前:デフォルトの名無しさん mailto:sage [2021/08/26(木) 04:16:32.18 ID:UZ8JqWyB.net] 少なくともcmdにそんな仕様変更などあるわけ無いからね
360 名前:デフォルトの名無しさん mailto:sage [2021/08/26(木) 04:17:53.32 ID:UZ8JqWyB.net] 潜在バグが表に出ただけで大騒ぎすな 全部bat作ったお前が悪い
361 名前:デフォルトの名無しさん mailto:sage [2021/08/26(木) 06:46:44.11 ID:dNXcmjRL.net] FILENAME がフルパスで環境変わってスペース含むようになったとかかな
362 名前:デフォルトの名無しさん mailto:sage [2021/08/26(木) 16:42:40.02 ID:LxJHntSN.net] >>342 %%%%a→%%a
363 名前:デフォルトの名無しさん mailto:sage [2021/08/30(月) 09:59:58.73 ID:2ApHZNp2.net] %FILENAME%に空白が含まれたら、最初の空白までが%1になるの当たり前じゃん これを考え落とすって、8.3時代で頭の更新が止まったままの化石だね
364 名前:デフォルトの名無しさん mailto:sage [2021/08/30(月) 10:57:48.15 ID:cyOwxYqr.net] まあ空白とは限らないけどね
365 名前:デフォルトの名無しさん [2021/09/01(水) 12:25:22.16 ID:BpsqJM8W.net] 複数動画ファイルをバッチにドロップしてH265で再エンコードしたいです。保存先はドロップ元と同じです。自分で作ってみたのですがうまくいきませんでした。改善点を教えてほしいです @echo off %~d1 cd "%~p1" type nul > ./files.txt SET NAME_1=%~n1 SET NAME_2=%~n2 SET NAME_3=%~n3 SET NAME_4=%~n4 SET NAME_5=%~n5 :start IF "%~1"=="" GOTO ffmpegstart IF "%~x1" == ".MP4" GOTO add IF "%~x1" == ".mp4" GOTO add GOTO next :add echo file "%~1" >> ./files.txt :next SHIFT GOTO start :ffmpegstart ffmpeg.exe -i "%~p1files.txt" -c:v libx265 -c:a copy -crf 22 -tag:v hvc1 "%~p1"%NAME_1%""_k_h265.mp4" pause ドロップせずに、パスを書いて実行したら成功はしました。
366 名前:デフォルトの名無しさん [2021/09/01(水) 12:38:53.45 ID:3LGwAbit.net] たから echo onにしろっつってんだろ
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] バッチ