拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう
過去スレ
%13 http://mevius.2ch.net/test/read.cgi/tech/1542779527/
%12 http://mevius.2ch.net/test/read.cgi/tech/1489207631/
%11 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://pc11.2ch.net/test/read.cgi/tech/1197881068/
【.cmd】 バッチファイルスクリプト %1 【.bat】
http://pc11.2ch.net/test/read.cgi/tech/1178281991/
バッチファイルプログラミング 3.bat
http://pc11.2ch.net/test/read.cgi/tech/1148485555/
バッチファイルプログラミング 2.bat
http://pc8.2ch.net/test/read.cgi/tech/1104911889/
バッチファイルプログラミング質問スレ
http://pc5.2ch.net/test/read.cgi/tech/1040614686/
【.cmd】 バッチファイルスクリプト %14 【.bat】
■ このスレッドは過去ログ倉庫に格納されています
2020/08/15(土) 07:00:26.64ID:f3kW5kCx
308デフォルトの名無しさん
2021/05/12(水) 02:33:26.74ID:XehBH/T/ >>307
OpenHardwareMonitorReport
https://github.com/openhardwaremonitor/openhardwaremonitor/issues/776#issuecomment-313606249
OpenHardwareMonitorReport
https://github.com/openhardwaremonitor/openhardwaremonitor/issues/776#issuecomment-313606249
309デフォルトの名無しさん
2021/05/12(水) 20:32:09.46ID:Suipbxh4 >>307
コマンドラインに出力される以外はOpenHardwareMonitorの実行内容と同じ結果でした
1ボードマイコンのlinuxは
cputemp=`cat /sys/class/thermal/thermal_zone0/temp`
とかで簡単に温度が取れるのになんでじゃろ
コマンドラインに出力される以外はOpenHardwareMonitorの実行内容と同じ結果でした
1ボードマイコンのlinuxは
cputemp=`cat /sys/class/thermal/thermal_zone0/temp`
とかで簡単に温度が取れるのになんでじゃろ
310デフォルトの名無しさん
2021/05/12(水) 20:32:24.17ID:Suipbxh4 >>308でした
311デフォルトの名無しさん
2021/05/12(水) 21:20:49.69ID:MeE+nXbq CoreTempでログ有効にして最終行取るとか
312デフォルトの名無しさん
2021/05/12(水) 22:00:07.42ID:yHTntpLS 出力をgrepとsedあたりで拾えたけど、それじゃダメなの?
BusyBox入れておけばどちらも使える
BusyBox入れておけばどちらも使える
313デフォルトの名無しさん
2021/05/12(水) 23:05:17.82ID:Suipbxh4314デフォルトの名無しさん
2021/05/14(金) 23:44:02.34ID:T4yhaoFz おかげさまでCPU自動温度調節バッチができました
CoreTempのログ出力間隔がなぜかGUIの画面で設定が反映されないのでCoreTemp.iniを直接いじってLogInt=3;にしました
CoreTempのログ出力間隔がなぜかGUIの画面で設定が反映されないのでCoreTemp.iniを直接いじってLogInt=3;にしました
315デフォルトの名無しさん
2021/05/21(金) 14:43:20.40ID:86NTjzBm 引数で✳︎1って書いて実行するとダメで
✳︎✳︎1と書くと実行してくれるというか
✳︎1として認識してくれる
こういうのなんて言うんだっけ?
✳︎✳︎1と書くと実行してくれるというか
✳︎1として認識してくれる
こういうのなんて言うんだっけ?
316デフォルトの名無しさん
2021/05/21(金) 15:45:05.64ID:PeQGb4Ft エスケープ?
317デフォルトの名無しさん
2021/05/21(金) 15:56:12.09ID:Ui9xkSyb エスケープ文字でいいのかな?
どう伝えたらいいか迷ってました。
ありがとうございます!!
どう伝えたらいいか迷ってました。
ありがとうございます!!
318デフォルトの名無しさん
2021/07/29(木) 10:35:28.68ID:Sx47SrPe dir *1* がおかしい表示をする
319デフォルトの名無しさん
2021/07/29(木) 11:36:44.20ID:tRu2KZQa ~1は付いてるだろ
320デフォルトの名無しさん
2021/07/29(木) 17:13:03.84ID:YC90wu7g dir/x *~*
やってみろ
やってみろ
321デフォルトの名無しさん
2021/07/29(木) 19:38:39.37ID:a6W4XitR322デフォルトの名無しさん
2021/07/29(木) 19:43:02.51ID:YC90wu7g 直ぐ上のレスぐらい読め
323デフォルトの名無しさん
2021/07/29(木) 20:44:32.26ID:y5w0GI0N ttps://www.atmarkit.co.jp/fwin2k/win2ktips/1200disable83/disable83.html
324デフォルトの名無しさん
2021/07/29(木) 20:53:42.01ID:YC90wu7g dir /b | find "1"
325デフォルトの名無しさん
2021/08/22(日) 10:21:12.87ID:ROFzyAkg お教え下さい
バッチファイルでなんとかあれこれ作っているんですが、curlとjqコマンドを使ってJSONからURLを拾おうと思っています
curl -X GET %url% | jq -r .body.playback.video_link
そこで、video_linkというkeyにURLが入っているのですが、video_link[0]、video_link[1]とJSONによって何個か入っていることがあります
この時、[1]の方のURLが欲しいのですが抜き出し方が分かりません
もちろん[2]、[3]とURLが入っている事もあります
その時は一番大きい値から取りたいです
for文で配列を回して読んでnullの1個前を取る方法しか無いのでしょうか
ほとんど理解していないレベルですが、お知恵をお貸しいただければ幸いです
バッチファイルでなんとかあれこれ作っているんですが、curlとjqコマンドを使ってJSONからURLを拾おうと思っています
curl -X GET %url% | jq -r .body.playback.video_link
そこで、video_linkというkeyにURLが入っているのですが、video_link[0]、video_link[1]とJSONによって何個か入っていることがあります
この時、[1]の方のURLが欲しいのですが抜き出し方が分かりません
もちろん[2]、[3]とURLが入っている事もあります
その時は一番大きい値から取りたいです
for文で配列を回して読んでnullの1個前を取る方法しか無いのでしょうか
ほとんど理解していないレベルですが、お知恵をお貸しいただければ幸いです
326デフォルトの名無しさん
2021/08/22(日) 12:42:26.74ID:4kURdFV7327デフォルトの名無しさん
2021/08/22(日) 13:17:28.64ID:ROFzyAkg >>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
とやるとエラーになります
またもやお教えいただけると助かります
よろしくお願い致します
無知とはいえ、目からウロコです
ありがとうございます、大変助かりました!
あと、もう一つお聞かせ下さい
上のコマンドの結果を変数に入れたかったので、for文でdo setしたのですが、jqを使うと動作しません
for /f "usebackq" %%a (curl -X GET %henkan% | jq -r ".body.playback.video_link[-1].url) do set urlhoge=%%a
とやるとエラーになります
またもやお教えいただけると助かります
よろしくお願い致します
328デフォルトの名無しさん
2021/08/22(日) 13:25:20.71ID:ROFzyAkg 連投すみません
自己解決しました
パイプで別のコマンドを繋げてる時はカッコ内では | だけではなく ^| としなくてはならないのですね
自己解決しました
パイプで別のコマンドを繋げてる時はカッコ内では | だけではなく ^| としなくてはならないのですね
329デフォルトの名無しさん
2021/08/22(日) 15:01:46.57ID:QCLSPIvL 式評価が、行読み込み時とfor文の括弧内とで2回行われるので
330デフォルトの名無しさん
2021/08/22(日) 16:39:15.67ID:AGm1+oJ3331デフォルトの名無しさん
2021/08/22(日) 16:48:11.12ID:AGm1+oJ3 inもないし
332デフォルトの名無しさん
2021/08/22(日) 19:09:07.18ID:ROFzyAkg ああすみません、うる覚えてで打ってました
for /f "usebackq" %%a in (`curl -X GET %henkanurl% ^| jq -r .body.playback.video_link[-1].url`) do set m3u8url=%%a
これで無事に動きました
for /f "usebackq" %%a in (`curl -X GET %henkanurl% ^| jq -r .body.playback.video_link[-1].url`) do set m3u8url=%%a
これで無事に動きました
333デフォルトの名無しさん
2021/08/23(月) 21:28:01.99ID:Tt89WUNP >>332
う「ろ」覚えな
う「ろ」覚えな
334デフォルトの名無しさん
2021/08/23(月) 21:36:38.14ID:rdOjiFig ×うろ
○うる
○うる
335デフォルトの名無しさん
2021/08/23(月) 23:16:48.35ID:0ziHLJ5Z 売る
336デフォルトの名無しさん
2021/08/24(火) 07:13:42.95ID:ttKQ7L6u うる覚えは誤り、または誤りから派生した方言だとされている
うろ 空洞
うろん 怪しい、疑わしい、乱雑
から来ているから 「うろ覚え」 が正しいよ
見せて → 見して
などと同様の変化でもあるだろう
見(い)せ(え)て(え) → 見(い)し(い)て(え)
と母音が前の音に引っ張られ変化するパターン
言い易くなるからか幼児語などに多く見られ、都会に比べての昔の田舎の人など知能の劣る者らが用いる傾向がある
うろ 空洞
うろん 怪しい、疑わしい、乱雑
から来ているから 「うろ覚え」 が正しいよ
見せて → 見して
などと同様の変化でもあるだろう
見(い)せ(え)て(え) → 見(い)し(い)て(え)
と母音が前の音に引っ張られ変化するパターン
言い易くなるからか幼児語などに多く見られ、都会に比べての昔の田舎の人など知能の劣る者らが用いる傾向がある
337デフォルトの名無しさん
2021/08/24(火) 07:54:41.61ID:7aPnDOA3 usebackqいらん
338デフォルトの名無しさん
2021/08/24(火) 11:06:35.68ID:A9/4ufwo お世話になります。
---- 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
とならないのはなぜ?
また、このような出力を得たい時はどうすればよいですか?
---- 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
とならないのはなぜ?
また、このような出力を得たい時はどうすればよいですか?
339デフォルトの名無しさん
2021/08/24(火) 11:10:52.17ID:7aPnDOA3 set /? 読め
340デフォルトの名無しさん
2021/08/24(火) 11:22:21.23ID:qugHDfsR callでサブルーちんに飛ばせばカウントされるよ
for内は極力シンプルに
for内は極力シンプルに
341デフォルトの名無しさん
2021/08/24(火) 13:03:43.42ID:ttKQ7L6u @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
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
342デフォルトの名無しさん
2021/08/25(水) 00:21:43.26ID:NZXLvzYN 07: CALL ECHO %%n%% : %%%%a
343338
2021/08/25(水) 08:35:00.27ID:CHwZclnY 340,341,342 ありがとう。
遅延?がどうこうって、勉強になりました。
単純な展開ですので、341の !var! 展開を使います。
遅延?がどうこうって、勉強になりました。
単純な展開ですので、341の !var! 展開を使います。
344デフォルトの名無しさん
2021/08/25(水) 12:37:01.24ID:sbFyoxUW ヘルプ読んでから質問してね
345デフォルトの名無しさん
2021/08/25(水) 15:31:20.26ID:Fod5ZYNl CALL %FILENAME%
CALL "%FILENAME%"
職場のパソコン変えたら上で動かなくて下に修正することになったんだけど仕様変更あった?
CALL "%FILENAME%"
職場のパソコン変えたら上で動かなくて下に修正することになったんだけど仕様変更あった?
346デフォルトの名無しさん
2021/08/25(水) 17:21:04.65ID:sbFyoxUW FILENAMEに区切り文字は無い?
347デフォルトの名無しさん
2021/08/25(水) 18:09:16.31ID:eN7VzoDp echo onなら環境変数展開後のコマンドラインが表示される
なにがおかしいのかステップ実行で確認してから質問してくれ
なにがおかしいのかステップ実行で確認してから質問してくれ
348デフォルトの名無しさん
2021/08/25(水) 18:59:42.87ID:rpvOn9yc >>347
ステップ実行して抜き出したのがこれなんだ
ステップ実行して抜き出したのがこれなんだ
349デフォルトの名無しさん
2021/08/25(水) 19:00:54.62ID:rpvOn9yc >>346
Onedrive同期してるフォルダーだからスペースとか今までなかったの増えてるかも
Onedrive同期してるフォルダーだからスペースとか今までなかったの増えてるかも
350デフォルトの名無しさん
2021/08/25(水) 19:11:06.73ID:sbFyoxUW 区切り文字あればそれが原因でしょ
引数がフルパスなら上位フォルダもチェック
念の為にきくけどバッチファイルだよね
引数がフルパスなら上位フォルダもチェック
念の為にきくけどバッチファイルだよね
351デフォルトの名無しさん
2021/08/25(水) 20:18:52.59ID:lzuDi78b >>345
こういう輩は、なんで自分以外がおかしい前提で話をするんだろう?
こういう輩は、なんで自分以外がおかしい前提で話をするんだろう?
352デフォルトの名無しさん
2021/08/25(水) 21:55:38.08ID:Fod5ZYNl >>351
こういうやつって掲示板にいる価値ないわ
こういうやつって掲示板にいる価値ないわ
353デフォルトの名無しさん
2021/08/25(水) 22:12:01.88ID:HCLFH+1o 差し支えの無い範囲でFILENAMEの中身とかバッチを見せればいいのでは?
354デフォルトの名無しさん
2021/08/26(木) 04:16:32.18ID:UZ8JqWyB 少なくともcmdにそんな仕様変更などあるわけ無いからね
355デフォルトの名無しさん
2021/08/26(木) 04:17:53.32ID:UZ8JqWyB 潜在バグが表に出ただけで大騒ぎすな
全部bat作ったお前が悪い
全部bat作ったお前が悪い
356デフォルトの名無しさん
2021/08/26(木) 06:46:44.11ID:dNXcmjRL FILENAME がフルパスで環境変わってスペース含むようになったとかかな
357デフォルトの名無しさん
2021/08/26(木) 16:42:40.02ID:LxJHntSN >>342
%%%%a→%%a
%%%%a→%%a
358デフォルトの名無しさん
2021/08/30(月) 09:59:58.73ID:2ApHZNp2 %FILENAME%に空白が含まれたら、最初の空白までが%1になるの当たり前じゃん
これを考え落とすって、8.3時代で頭の更新が止まったままの化石だね
これを考え落とすって、8.3時代で頭の更新が止まったままの化石だね
359デフォルトの名無しさん
2021/08/30(月) 10:57:48.15ID:cyOwxYqr まあ空白とは限らないけどね
360デフォルトの名無しさん
2021/09/01(水) 12:25:22.16ID:BpsqJM8W 複数動画ファイルをバッチにドロップして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
ドロップせずに、パスを書いて実行したら成功はしました。
@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
ドロップせずに、パスを書いて実行したら成功はしました。
361デフォルトの名無しさん
2021/09/01(水) 12:38:53.45ID:3LGwAbit たから echo onにしろっつってんだろ
362デフォルトの名無しさん
2021/09/01(水) 16:04:27.85ID:rR7+iwTB @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
: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
363デフォルトの名無しさん
2021/09/01(水) 17:15:47.13ID:79X4wBHs364デフォルトの名無しさん
2021/09/01(水) 17:35:20.23ID:JwKVF6M3 @echo off って完成してからつけるものじゃないのか
最初からあるなんて随分と自信があるんだなぁ
最初からあるなんて随分と自信があるんだなぁ
365デフォルトの名無しさん
2021/09/01(水) 17:36:38.68ID:3SVggb9G だよな
366デフォルトの名無しさん
2021/09/01(水) 21:20:41.59ID:CWQ1EA8H >>362
ありがとうございます!
ありがとうございます!
367デフォルトの名無しさん
2021/09/01(水) 21:32:18.07ID:79X4wBHs 丸投げ質問はやめてくれ
368デフォルトの名無しさん
2021/09/01(水) 21:55:30.34ID:t7KCJs9B なんだ、>>362でうまくいったのか
つまりエラーは変換先のファイルが存在しててffmpegでエラーが出たってことだったのか
俺はエラー内容が書かれてなかったんで他のことを考えてたよ
"あい うえお.mp4"とかパスに半角空白が無くて全角空白がある場合とかね
つまりエラーは変換先のファイルが存在しててffmpegでエラーが出たってことだったのか
俺はエラー内容が書かれてなかったんで他のことを考えてたよ
"あい うえお.mp4"とかパスに半角空白が無くて全角空白がある場合とかね
369デフォルトの名無しさん
2021/09/01(水) 21:55:32.25ID:MGC13/Ge はいw
370デフォルトの名無しさん
2021/09/01(水) 22:51:40.87ID:79X4wBHs -i のところやろ
371デフォルトの名無しさん
2021/09/01(水) 23:03:16.29ID:UTT/foLD 例えば、デスクトップにショートカットを作る。
コマンドプロンプトを起動して、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 の空白文字も処理できるが、
ドロップしたファイルパスに空白文字があると、
パスの前後を、"〜" で囲んでも、エラーになって処理できない
コマンドプロンプトを起動して、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 の空白文字も処理できるが、
ドロップしたファイルパスに空白文字があると、
パスの前後を、"〜" で囲んでも、エラーになって処理できない
372デフォルトの名無しさん
2021/09/01(水) 23:06:19.43ID:79X4wBHs 突然どうした?
373デフォルトの名無しさん
2021/09/01(水) 23:11:28.11ID:79X4wBHs ハッシュほしいならcertutilつかえば
374371
2021/09/01(水) 23:21:55.11ID:UTT/foLD ハッシュ値を求めるのは、単なる例え。
ffmpeg の代わりに使っただけ
Ruby スクリプト内で、別のプログラムを呼ぶと、
ドロップされたファイルパス内の空白文字で、はまると言うこと
ffmpeg の代わりに使っただけ
Ruby スクリプト内で、別のプログラムを呼ぶと、
ドロップされたファイルパス内の空白文字で、はまると言うこと
375デフォルトの名無しさん
2021/09/01(水) 23:24:46.32ID:RTATUgNE こんなところにまでruby基地がw
376デフォルトの名無しさん
2021/09/02(木) 09:08:23.07ID:7LFIE/54 偉ぶりたい底辺コーダーや引きこもりがここぞとばかりにワラワラとw
377371
2021/09/02(木) 11:56:43.51ID:SBJQlu/e >>371
に書いたように、コマンドプロンプトから、Ruby スクリプトを起動する方法では、
ドロップしたファイルパスに空白文字があると、バグる
PowerShell から、Ruby スクリプトを起動する方法では、
ドロップした複数のファイルパスを渡す方法が分からない
結局、以下のように、Ruby スクリプトを直接起動する方法では、
空白文字でも、複数のファイルパスでも、バグらない
ショートカットのリンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/a.rb
puts ARGV # ドロップした複数のファイルパスの配列
sleep # 出力したコマンドプロンプト画面を閉じないようにする
に書いたように、コマンドプロンプトから、Ruby スクリプトを起動する方法では、
ドロップしたファイルパスに空白文字があると、バグる
PowerShell から、Ruby スクリプトを起動する方法では、
ドロップした複数のファイルパスを渡す方法が分からない
結局、以下のように、Ruby スクリプトを直接起動する方法では、
空白文字でも、複数のファイルパスでも、バグらない
ショートカットのリンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/a.rb
puts ARGV # ドロップした複数のファイルパスの配列
sleep # 出力したコマンドプロンプト画面を閉じないようにする
378デフォルトの名無しさん
2021/09/02(木) 12:14:08.51ID:ctEO1PZh379デフォルトの名無しさん
2021/09/02(木) 12:46:43.02ID:6AISeI88380デフォルトの名無しさん
2021/09/02(木) 13:31:10.74ID:ctEO1PZh >>379
https://www.google.com/search?q=windows+%E3%83%90%E3%83%83%E3%83%81+%E5%85%A5%E9%96%80
1ページ目に表示されてるサイト全部巡って読めば少しは分かるようになると思うよ
https://www.google.com/search?q=windows+%E3%83%90%E3%83%83%E3%83%81+%E5%85%A5%E9%96%80
1ページ目に表示されてるサイト全部巡って読めば少しは分かるようになると思うよ
381371
2021/09/02(木) 13:39:27.82ID:SBJQlu/e Ruby では、>>377
に書いたように、起動引数・ARGV は配列で、
そこに、ドロップした複数のファイルパスが入ってくる
出力
C:\Users\Owner\Documents\x
C:\Users\Owner\Documents\あ.txt
フォルダx と、ファイル・あ.txt
に書いたように、起動引数・ARGV は配列で、
そこに、ドロップした複数のファイルパスが入ってくる
出力
C:\Users\Owner\Documents\x
C:\Users\Owner\Documents\あ.txt
フォルダx と、ファイル・あ.txt
382デフォルトの名無しさん
2021/09/02(木) 13:48:04.44ID:siHMRGTz >>378
知らないけどffmpegが終わるまで待ちたいのでは
知らないけどffmpegが終わるまで待ちたいのでは
383デフォルトの名無しさん
2021/09/02(木) 14:17:42.40ID:D5kjhyGc >>379
前の質問もそうだが、どうして現象を説明しないの?
俺らが君のPCの画面やファイルを眺められるわけないじゃん
エラーなら、入力した内容やファイル内容やどこまで実行されててどういう状態になってるとか書かないとわからんだろ
あと362なら先頭行を削除して実行すればpauseで終了時点の状態がわかるだろ
前の質問もそうだが、どうして現象を説明しないの?
俺らが君のPCの画面やファイルを眺められるわけないじゃん
エラーなら、入力した内容やファイル内容やどこまで実行されててどういう状態になってるとか書かないとわからんだろ
あと362なら先頭行を削除して実行すればpauseで終了時点の状態がわかるだろ
384デフォルトの名無しさん
2021/09/02(木) 14:24:25.53ID:D5kjhyGc あと一個とか言ったけど、以前エラーになったオペレーションだと正常になったけど
新たに別のケースが出てきたってことか?
それとも以前エラーになったものは試してないってことか?
即答でありがとうなんて書けばこっちは正常になったと勘違いするだろ
あと、エラー状態は>>368の場合に該当しなかったということでいいか?
新たに別のケースが出てきたってことか?
それとも以前エラーになったものは試してないってことか?
即答でありがとうなんて書けばこっちは正常になったと勘違いするだろ
あと、エラー状態は>>368の場合に該当しなかったということでいいか?
385デフォルトの名無しさん
2021/09/02(木) 15:55:55.97ID:e/2zM0cp >>379
コピペったバッチはShiftJISで保存した?
ドラッグ&ドロップするファイルの上位ディレクトリの名前かファイル名に半角スペースを含めてもう一度試してみ
ファイルやパスにShiftJIS外の文字や記号を含んでいるなら削除
それでもダメだったらファイル類を「パスのコピー」してここに貼ってみな
コピペったバッチはShiftJISで保存した?
ドラッグ&ドロップするファイルの上位ディレクトリの名前かファイル名に半角スペースを含めてもう一度試してみ
ファイルやパスにShiftJIS外の文字や記号を含んでいるなら削除
それでもダメだったらファイル類を「パスのコピー」してここに貼ってみな
386デフォルトの名無しさん
2021/09/02(木) 19:03:44.33ID:lSTkj0Rg >どうして現象を説明しないの?
馬鹿につきあって解答する馬鹿がいるからです
馬鹿につきあって解答する馬鹿がいるからです
387デフォルトの名無しさん
2021/09/03(金) 08:16:34.23ID:61QsYzlD echoを理解できない初心者に説明しろと言っても無理
388デフォルトの名無しさん
2021/09/03(金) 08:53:30.59ID:VqiIv6Pi え、ちょっw(echo)
389デフォルトの名無しさん
2021/09/03(金) 19:05:48.55ID:nhGnJ2O1 素直にコード貼るだけ全然優良でしょ
オレオレ用語使う、コード端折る、妙にプライドがある奴はマジで神経擦り減る
オレオレ用語使う、コード端折る、妙にプライドがある奴はマジで神経擦り減る
390デフォルトの名無しさん
2021/09/04(土) 00:32:37.15ID:ExeocnPJ ほんとにな
完全同意だわ
完全同意だわ
391デフォルトの名無しさん
2021/09/04(土) 08:48:55.08ID:fYT9QIuD echoなんてデバッグ用に変数の値を見たくなったときにでも覚えたら良いさ
392デフォルトの名無しさん
2021/09/05(日) 20:59:18.22ID:h9G3o9Tj 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"
)
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"
)
393392
2021/09/05(日) 21:01:57.75ID:h9G3o9Tj 抜けがありました
14 %DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
14 %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"
14 %DEVCON% "USB\VID_0909&PID_001C&REV_0100&MI_00"
14 %DEVCON% disable "USB\VID_0909&PID_001C&REV_0100&MI_00"
394デフォルトの名無しさん
2021/09/05(日) 21:50:58.36ID:qFDUcsKU カレントフォルダをC:\Program Files (x86)\Windows Kits\10\Tools\x64 に移動してから
set DEVCON="devcon.exe" にしてみるとか
set DEVCON="devcon.exe" にしてみるとか
395デフォルトの名無しさん
2021/09/05(日) 22:12:50.15ID:GdXH1yQe >>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"
FOR /F "tokens=3" %%a IN ('^"%DEVCON% status "USB\VID_0909&PID_001C&REV_0100&MI_00" ^| find "Driver is"^"') DO set "STATUS=%%a"
396デフォルトの名無しさん
2021/09/05(日) 22:17:55.22ID:GdXH1yQe397デフォルトの名無しさん
2021/09/05(日) 23:48:28.37ID:UFxCuC9Y 漏れは、ショートカットにDrag and Drop してみた結果、
結論として、コマンドプロンプトでは、ファイルパス中の半角空白を処理できない
PowerShell(PS)でも難しいかも
漏れは結局、Ruby を使っている
特に、コマンドプロンプトだけはやめて、PSを使った方が、マシかも
結論として、コマンドプロンプトでは、ファイルパス中の半角空白を処理できない
PowerShell(PS)でも難しいかも
漏れは結局、Ruby を使っている
特に、コマンドプロンプトだけはやめて、PSを使った方が、マシかも
398デフォルトの名無しさん
2021/09/05(日) 23:54:22.00ID:GdXH1yQe 上のはそういう話じゃない
399デフォルトの名無しさん
2021/09/06(月) 00:15:22.61ID:x7bnJBcc >>396
両端に"がこなくするってのはアイデアだな
両端に"がこなくするってのはアイデアだな
401デフォルトの名無しさん
2021/09/06(月) 07:15:12.30ID:yJI9//ND ほえ〜、横からだけど目からウロコだわ >>396
為になった、さんきゅう
為になった、さんきゅう
402デフォルトの名無しさん
2021/09/17(金) 15:37:36.70ID:gyqQtjrG 質問です。
メモ帳に「移動元のファイルの場所 移動先のファイルの場所」が絶対パスで半角スペースで区切られています。
これを読み込み指示通りにファイルを移動させたいのですがどのように書くといいでしょうか?
また、リネームする必要があるファイルもあるのですがどうするといいでしょうか?
「C:\aa\bb.jpg D:\aa\cc.jpg」
メモ帳に「移動元のファイルの場所 移動先のファイルの場所」が絶対パスで半角スペースで区切られています。
これを読み込み指示通りにファイルを移動させたいのですがどのように書くといいでしょうか?
また、リネームする必要があるファイルもあるのですがどうするといいでしょうか?
「C:\aa\bb.jpg D:\aa\cc.jpg」
403デフォルトの名無しさん
2021/09/17(金) 17:20:03.57ID:i/XCCF5h forで読んでmoveで移動
もしechoの分からない人ならやめとけ
もしechoの分からない人ならやめとけ
404デフォルトの名無しさん
2021/09/17(金) 22:37:54.43ID:vaLPoEyz 「for バッチファイル」でググって訳がわからないようなら 、適当なエディタで開いて、" でくくるのを前提に
行頭、スペースとドライブ文字、行末、を置換してbatファイルとして名前を付けて保存
move "C:\aa\bb.jpg" "D:\aa\cc.jpg"
みたいになるように
なを、ファイル名にsjisじゃない何かが無い前提
行頭、スペースとドライブ文字、行末、を置換してbatファイルとして名前を付けて保存
move "C:\aa\bb.jpg" "D:\aa\cc.jpg"
みたいになるように
なを、ファイル名にsjisじゃない何かが無い前提
405デフォルトの名無しさん
2021/09/17(金) 23:29:19.93ID:O1PoA15N バッチは、ややこしい。
Power Shell, Ruby などでやれば?
それに、そのファイルは半角空白で区切っているけど、
Windows では、ファイルパスに半角空白も入るから、バグるので、
普通に、CSV 形式にすると良い。
その代わり、CSVパーサーが必要になるけど
タブ区切りのTSV も良い。
さすがにタブ文字・改行コードは、ファイルパスには入らないだろうから、簡単に取り出せる
Power Shell, Ruby などでやれば?
それに、そのファイルは半角空白で区切っているけど、
Windows では、ファイルパスに半角空白も入るから、バグるので、
普通に、CSV 形式にすると良い。
その代わり、CSVパーサーが必要になるけど
タブ区切りのTSV も良い。
さすがにタブ文字・改行コードは、ファイルパスには入らないだろうから、簡単に取り出せる
406デフォルトの名無しさん
2021/09/18(土) 00:13:27.23ID:q5iJ5tLu 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
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
407デフォルトの名無しさん
2021/09/18(土) 06:22:21.02ID:KTV+OCDB 横からすまんが半角スペース入りパスだとダメだよそれ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★10 [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【朗報】愛国烈士ほんこん、高市首相のために長文を投稿wwwwwwwwwwwww [834922174]
- ニートしかいない時間ってマジでつまんないよな
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 千速は誰とのカップリングがエロいのか
- 高市コイン、155円突破wwwwwwwwww [246620176]
- おじゃる丸をまったり待機するスレ🏡
