拡張子が .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
648デフォルトの名無しさん
2022/02/06(日) 05:54:07.77ID:ZVoj0wBD ↑
getDetailsOfでプロパティを取ってくる以外の方法
jpg/png/gifぐらいだけど
powershell ./test.ps1 "画像ファイルのパス"
プロパティだと拡張子に関連付けられたものになる
中身がjpgなのにファイル拡張子が.pngの場合とかある?
なお、batに埋め込みたいならググれば方法は出てくる
getDetailsOfでプロパティを取ってくる以外の方法
jpg/png/gifぐらいだけど
powershell ./test.ps1 "画像ファイルのパス"
プロパティだと拡張子に関連付けられたものになる
中身がjpgなのにファイル拡張子が.pngの場合とかある?
なお、batに埋め込みたいならググれば方法は出てくる
649デフォルトの名無しさん
2022/02/06(日) 09:33:19.21ID:T20/oaZi >>647-648
ありがとうございます
最初、実行ポリシーが云々でエラーになったものの、ググって
powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1 '%~1'
としたら動きました
シングルクォートにしないとスペースを含むパスでエラーになりました
> 中身がjpgなのにファイル拡張子が.pngの場合とかある?
バッチでリネームついでにそういった間違っている拡張子を正しいものに直したいと思いまして
image/jpeg とかを .jpg に変えたら面倒も無くそのまま使えそうです
powershell凄いですね。外部アプリ使わずに判別出来ちゃうんですね
WINEX32.DLL
https://www.vector.co.jp/soft/win95/prog/se478825.html
こういうのが必要なのかと思ってました
ただファイル一つ一つをバッチからpsを起動してたら遅いのだけが難点ですね
速さは重要ではないので構わないのですが
いっそ全部psで書けるスキルがあれば良いんですけどねー
バッチですら四苦八苦してる身としてはさくっと書ける人が羨ましいです
ありがとうございます
最初、実行ポリシーが云々でエラーになったものの、ググって
powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1 '%~1'
としたら動きました
シングルクォートにしないとスペースを含むパスでエラーになりました
> 中身がjpgなのにファイル拡張子が.pngの場合とかある?
バッチでリネームついでにそういった間違っている拡張子を正しいものに直したいと思いまして
image/jpeg とかを .jpg に変えたら面倒も無くそのまま使えそうです
powershell凄いですね。外部アプリ使わずに判別出来ちゃうんですね
WINEX32.DLL
https://www.vector.co.jp/soft/win95/prog/se478825.html
こういうのが必要なのかと思ってました
ただファイル一つ一つをバッチからpsを起動してたら遅いのだけが難点ですね
速さは重要ではないので構わないのですが
いっそ全部psで書けるスキルがあれば良いんですけどねー
バッチですら四苦八苦してる身としてはさくっと書ける人が羨ましいです
650デフォルトの名無しさん
2022/02/16(水) 16:36:49.58ID:w27+Spzi 初心者過ぎて分からないんだが
コマンド >nul 2>&1
if "!ERRORLEVEL!" == "0" 〜
ってちゃんと意味ある?
出力捨てるのは成功するから毎回リターンコード0になったりする?
コマンド >nul 2>&1
if "!ERRORLEVEL!" == "0" 〜
ってちゃんと意味ある?
出力捨てるのは成功するから毎回リターンコード0になったりする?
651デフォルトの名無しさん
2022/02/16(水) 17:40:22.47ID:SGx0nl/1 正常時に出力の無いコマンドはリダイレクトできないからエラーになるんじゃね。
異常時にコマンドがエラー出してもエラーになるから
結局、区別がつかない。
異常時にコマンドがエラー出してもエラーになるから
結局、区別がつかない。
652デフォルトの名無しさん
2022/02/16(水) 18:08:47.78ID:5G/Gik2e653デフォルトの名無しさん
2022/02/16(水) 18:18:47.77ID:t0Nu4cH6 コマンドの復帰コードと標準(エラー)出力のリダイレクトとは無関係なので
ちゃんとコマンドが復帰コードを返していたら問題ないはず
errorlevel環境変数を見るのはちょっとリスクがあるけどわかっているなら問題はない
if errorlevel 1 〜
なら確実
ちゃんとコマンドが復帰コードを返していたら問題ないはず
errorlevel環境変数を見るのはちょっとリスクがあるけどわかっているなら問題はない
if errorlevel 1 〜
なら確実
654デフォルトの名無しさん
2022/02/16(水) 18:26:54.82ID:lGeZIdOq コマンド
if not errorlevel 1 echo ok
コマンド >nul 2>&1 && echo ok || echo fail
if not errorlevel 1 echo ok
コマンド >nul 2>&1 && echo ok || echo fail
655デフォルトの名無しさん
2022/02/16(水) 18:31:31.49ID:5G/Gik2e ifのパラメーターにerrorlevelがあったのね
確かに環境変数使うより良さそう
PC起動時に毎回開きたいアプリを順番(前後関係あり)に開いてくだけだから基本startコマンドなのよね
確かに環境変数使うより良さそう
PC起動時に毎回開きたいアプリを順番(前後関係あり)に開いてくだけだから基本startコマンドなのよね
656デフォルトの名無しさん
2022/02/16(水) 18:32:09.18ID:5G/Gik2e おーありがてえ
657デフォルトの名無しさん
2022/02/16(水) 18:39:35.08ID:IpLn/l6Q658デフォルトの名無しさん
2022/02/16(水) 18:44:42.98ID:91qDUo1j659デフォルトの名無しさん
2022/02/16(水) 18:50:49.88ID:t0Nu4cH6 >>658
DOSだと、gotoしか書けなかったね
DOSだと、gotoしか書けなかったね
660デフォルトの名無しさん
2022/02/16(水) 22:29:00.93ID:5G/Gik2e661デフォルトの名無しさん
2022/02/20(日) 02:07:07.44ID:UpXKcN5y これなんでこうなるの?
echo abc 行末|findstr "^abc"
一致
(echo abc 行末)|findstr "^abc"
一致
echo abc 行末|findstr "行末$"
一致
(echo abc 行末)|findstr "行末$"
不一致
echo abc 行末| findstr /r /c:"^abc 行末$"
一致
(echo abc 行末)| findstr /r /c:"^abc 行末$"
不一致
元はこういう感じでハマっててやっと原因突き止めたんだけど理由が分からん
(for /L %%j in (1,1,%i%) do for /f "delims=/" %%a in ('echo "%%B_%%j%%"') do echo %%~a
)|findstr "^001a\.txt$" || echo ok
因みに /x オプションも駄目だった
('echo "%%B_%%j%%"') の部分も元は ("!B_%%j!") で単独では展開されてたのにパイプ繋ぐと展開されずハマってた
パイプ繋いだら遅延展開無効化されるん?
echo abc 行末|findstr "^abc"
一致
(echo abc 行末)|findstr "^abc"
一致
echo abc 行末|findstr "行末$"
一致
(echo abc 行末)|findstr "行末$"
不一致
echo abc 行末| findstr /r /c:"^abc 行末$"
一致
(echo abc 行末)| findstr /r /c:"^abc 行末$"
不一致
元はこういう感じでハマっててやっと原因突き止めたんだけど理由が分からん
(for /L %%j in (1,1,%i%) do for /f "delims=/" %%a in ('echo "%%B_%%j%%"') do echo %%~a
)|findstr "^001a\.txt$" || echo ok
因みに /x オプションも駄目だった
('echo "%%B_%%j%%"') の部分も元は ("!B_%%j!") で単独では展開されてたのにパイプ繋ぐと展開されずハマってた
パイプ繋いだら遅延展開無効化されるん?
662デフォルトの名無しさん
2022/02/20(日) 02:58:56.00ID:WlVIdNMt (echo abc 行末)|findstr "行末 $"
は一致する
スペースが入るみたいだね
は一致する
スペースが入るみたいだね
663デフォルトの名無しさん
2022/02/20(日) 03:21:58.43ID:j5UZdGyh664デフォルトの名無しさん
2022/02/20(日) 03:38:00.04ID:UpXKcN5y ありがとう
(echo abc 行末)|findstr /r /c:"^abc 行末 $"
これで一致したから半角スペース入ってしまってるで間違いないみたい
(echo abc 行末)|findstr /r /c:"^abc 行末 $"
これで一致したから半角スペース入ってしまってるで間違いないみたい
665デフォルトの名無しさん
2022/02/20(日) 03:42:58.59ID:j5UZdGyh echo onでどう展開されるかみればどうしてそうなったのかわかるよ
666デフォルトの名無しさん
2022/02/20(日) 05:28:05.67ID:UpXKcN5y >>665
当然echo onでも確認してる
例えばこんなの
for %a in (a b c) do (echo %a|findstr "b$")
echo onでの表示では %a | とパイプとの間にスペース入るけどechoの末尾にゴミなんて付かないのよ
元のバッチやコマンドプロンプトの入力で以下のようにスペース入ってれば末尾にスペース入るけど上記のように詰めて書けば入らない
for %a in (a b c) do (echo %a |findstr "b$")
当然echo onでも確認してる
例えばこんなの
for %a in (a b c) do (echo %a|findstr "b$")
echo onでの表示では %a | とパイプとの間にスペース入るけどechoの末尾にゴミなんて付かないのよ
元のバッチやコマンドプロンプトの入力で以下のようにスペース入ってれば末尾にスペース入るけど上記のように詰めて書けば入らない
for %a in (a b c) do (echo %a |findstr "b$")
667デフォルトの名無しさん
2022/02/20(日) 05:50:10.39ID:WlVIdNMt668デフォルトの名無しさん
2022/02/21(月) 23:05:19.75ID:J9914B5I669デフォルトの名無しさん
2022/02/25(金) 18:44:29.79ID:xURWaPVP 同じアプリのファイルを複数起動していて
コマンドラインが同じになっているとき
閉じたいものだけ閉じる方法ってありますか?
コマンドラインが同じになっているとき
閉じたいものだけ閉じる方法ってありますか?
670デフォルトの名無しさん
2022/02/25(金) 18:45:11.42ID:xURWaPVP すいません、コマンドラインでなくプロセス名でした
671デフォルトの名無しさん
2022/02/25(金) 20:06:56.37ID:zbdaU1gm >>670
全く同じexeを複数起動してるんなら、プロセスID指定しかないけど
プロセスID見たってどっちが消したいexeなのか判別できる?
・リスト表示
tasklist /fi "IMAGENAME eq xxx.exe"
・削除
taskkill /pid 9999
パスが違うとかならパス情報を見るとかでプロセスIDを特定できる
wmic process list full format:csv|findstr "C:\foo\bar\baz.exe"
全く同じexeを複数起動してるんなら、プロセスID指定しかないけど
プロセスID見たってどっちが消したいexeなのか判別できる?
・リスト表示
tasklist /fi "IMAGENAME eq xxx.exe"
・削除
taskkill /pid 9999
パスが違うとかならパス情報を見るとかでプロセスIDを特定できる
wmic process list full format:csv|findstr "C:\foo\bar\baz.exe"
672デフォルトの名無しさん
2022/02/25(金) 20:12:59.55ID:xURWaPVP673デフォルトの名無しさん
2022/02/25(金) 22:00:00.64ID:zbdaU1gm >>672
もう出来たとは思うけど、上のだとfindstrも一緒に検出されるので出した責任として訂正しとく
for /f "tokens=6 delims=," %%i in ('wmic process list full /format:csv^|findstr "C:\bin\INET\Jane"^|findstr /v findstr') do set pid=%%i
tasklist /fi "pid eq %pid%"
もう出来たとは思うけど、上のだとfindstrも一緒に検出されるので出した責任として訂正しとく
for /f "tokens=6 delims=," %%i in ('wmic process list full /format:csv^|findstr "C:\bin\INET\Jane"^|findstr /v findstr') do set pid=%%i
tasklist /fi "pid eq %pid%"
674デフォルトの名無しさん
2022/02/26(土) 12:26:06.99ID:2NOKllqN675デフォルトの名無しさん
2022/02/26(土) 16:12:21.37ID:XLKEJl76 アクティブウィンドウ名がわかればいいんだね
vbaでできるらしいが
vbaでできるらしいが
676デフォルトの名無しさん
2022/03/10(木) 14:32:21.94ID:53waehJr あるフォルダROOTの配下にフォルダ001〜フォルダ999があり、その中にはAAA,BBB,CCCという3ファイルがあるとします。
フォルダ001から999配下の全てのAAAをZZZにコピーするために
コマンドプロンプトでROOTフォルダで「for /r %i in (AAA) do copy %i %~pi\ZZZ」としたら求める結果になりましたが
これをバッチファイルに書くと構文エラーみたいなエラーがでます。
バッチファイルに書く場合どうしたらいいでしょうか。
フォルダ001から999配下の全てのAAAをZZZにコピーするために
コマンドプロンプトでROOTフォルダで「for /r %i in (AAA) do copy %i %~pi\ZZZ」としたら求める結果になりましたが
これをバッチファイルに書くと構文エラーみたいなエラーがでます。
バッチファイルに書く場合どうしたらいいでしょうか。
677デフォルトの名無しさん
2022/03/10(木) 15:13:37.97ID:jqA3dRQ6 魔空空間では
%i in (AAA) do copy % という名前の環境変数に展開されて消えてしまうのだ!
すべての%を%%に書き換えて対抗しよう!
なおコマンドラインでも環境変数が定義されていたら展開されてしまうぞ
こちらは対処不能だキヲツケロぉ
%i in (AAA) do copy % という名前の環境変数に展開されて消えてしまうのだ!
すべての%を%%に書き換えて対抗しよう!
なおコマンドラインでも環境変数が定義されていたら展開されてしまうぞ
こちらは対処不能だキヲツケロぉ
678デフォルトの名無しさん
2022/03/10(木) 15:28:31.03ID:23a2YeOc679デフォルトの名無しさん
2022/03/10(木) 15:52:45.58ID:53waehJr680デフォルトの名無しさん
2022/03/12(土) 02:42:22.51ID:1/likOkq 家の光回線をIPv4 over IPv6に変えたら、「VPN931でしょ?」ERRORが出て書き込めなくなった
試行錯誤の後、携帯回線を無線子機経由、テザリングで繋いでおき
「ネットワークアダプター」のページからイーサネット(有線)を無効にして書き込み、
書き込みが終わったら再び光回線を有効にするようにした
しかし、つい携帯回線に切り換えたのを忘れたまま動画を観てしまうようなことが何度もあり、
1回で月無料分のギガを使い切ってしまい、有料になったり速度制限がかかったりして不便&勿体ないので
なんとかバッチ処理出来ないかと思い、
「有線LAN 無効化 バッチ」で検索して見つけた下記のページを参考にしてバッチファイルを作ってみた
↓
https://mseeeen.msen.jp/switch-network-adapter-enabled-in-windows-with-batch-file/
----------
@ECHO OFF
netsh interface set interface "イーサネット" disabled
ECHO 一時的に光回線(有線・イーサネット)をOFFにしました
timeout 30
netsh interface set interface "イーサネット" enabled
if ERRORLEVEL = 1 PAUSE
----------
上記を拡張子batで保存し、参考URL同様にショートカット経由で管理者権限で起動するようにしました。
※メモ帳で編集したとき、デフォルトでUTF-8→ANSIにすることを知らずに文字化けして上手く動かなかったのはお約束。
これで、書き込む直前にショートカットで起動すれば
30秒だけ光回線が切れ、wifi=携帯回線で書き込める
その後は自動復帰するので繋ぎ忘れが無くなった
もしもっと良い方法があれば教えてくださいm(_ _)m
試行錯誤の後、携帯回線を無線子機経由、テザリングで繋いでおき
「ネットワークアダプター」のページからイーサネット(有線)を無効にして書き込み、
書き込みが終わったら再び光回線を有効にするようにした
しかし、つい携帯回線に切り換えたのを忘れたまま動画を観てしまうようなことが何度もあり、
1回で月無料分のギガを使い切ってしまい、有料になったり速度制限がかかったりして不便&勿体ないので
なんとかバッチ処理出来ないかと思い、
「有線LAN 無効化 バッチ」で検索して見つけた下記のページを参考にしてバッチファイルを作ってみた
↓
https://mseeeen.msen.jp/switch-network-adapter-enabled-in-windows-with-batch-file/
----------
@ECHO OFF
netsh interface set interface "イーサネット" disabled
ECHO 一時的に光回線(有線・イーサネット)をOFFにしました
timeout 30
netsh interface set interface "イーサネット" enabled
if ERRORLEVEL = 1 PAUSE
----------
上記を拡張子batで保存し、参考URL同様にショートカット経由で管理者権限で起動するようにしました。
※メモ帳で編集したとき、デフォルトでUTF-8→ANSIにすることを知らずに文字化けして上手く動かなかったのはお約束。
これで、書き込む直前にショートカットで起動すれば
30秒だけ光回線が切れ、wifi=携帯回線で書き込める
その後は自動復帰するので繋ぎ忘れが無くなった
もしもっと良い方法があれば教えてくださいm(_ _)m
681デフォルトの名無しさん
2022/03/12(土) 10:55:59.83ID:i3Z8TR4r ネットワークの有効無効を変える必要はなくて、単にどっちがデフォルトゲートウェイになるかを制御するだけで十分だよ
スマホ側にプロキシたてて、専ブラ(だよね?)からそのプロキシを使うように設定すれば常時5chだけスマホ側に流すこともできる
スマホ側にプロキシたてて、専ブラ(だよね?)からそのプロキシを使うように設定すれば常時5chだけスマホ側に流すこともできる
682デフォルトの名無しさん
2022/03/12(土) 12:05:05.72ID:vZQIGC81 5chのipでルーティングの設定するだけでは?
683デフォルトの名無しさん
2022/03/12(土) 13:36:04.21ID:i3Z8TR4r 理論的にはそうだけど実際5chが使ってるIP範囲調べたことあるかい?
CDN通してるから、取りうるIP範囲まるごとスマホに流したら5ch以外の多くのサイトのトラフィックもそっちに流れてデータ通信容量が消費されてしまう
CDN通してるから、取りうるIP範囲まるごとスマホに流したら5ch以外の多くのサイトのトラフィックもそっちに流れてデータ通信容量が消費されてしまう
684デフォルトの名無しさん
2022/03/12(土) 13:41:51.25ID:i3Z8TR4r 途中で書き込んでしまった
消費されてしまうので、L3レベルでの経路選択は現実的ではない
なので一時的にまるごと切り替えてしまうか、URLを指定してシステム全体でプロキシ設定を行う、専ブラについてるプロキシ機能を使うとかのが良い
しっかりインスペクションして経路振り分けられるルーターを用意して設定できるならそれもありだが一般人向けではない
消費されてしまうので、L3レベルでの経路選択は現実的ではない
なので一時的にまるごと切り替えてしまうか、URLを指定してシステム全体でプロキシ設定を行う、専ブラについてるプロキシ機能を使うとかのが良い
しっかりインスペクションして経路振り分けられるルーターを用意して設定できるならそれもありだが一般人向けではない
685680
2022/03/12(土) 14:48:36.28ID:1/likOkq >>681
流石ですね!あっという間に より良い方法を考えつくとは!
…ですが、専ブラに登録している全てのスレの新着チェック(=下り)は光回線で出来るので、
ギガ節約のためにも、無理にスマホに流さなくて良いのですよ
専ブラの上り(=書き込み)だけ携帯回線に流すバッチなんて作れますかね?
ヒントや参考になるURLでも構わないのですが
流石ですね!あっという間に より良い方法を考えつくとは!
…ですが、専ブラに登録している全てのスレの新着チェック(=下り)は光回線で出来るので、
ギガ節約のためにも、無理にスマホに流さなくて良いのですよ
専ブラの上り(=書き込み)だけ携帯回線に流すバッチなんて作れますかね?
ヒントや参考になるURLでも構わないのですが
686デフォルトの名無しさん
2022/03/12(土) 14:54:48.13ID:1/likOkq PC再起動したら、 >>680 のバッチ実行時に「この関数を完了できません」が出て 狙い通りに動かなくなってしまった
仕方なく、以前と同じように 「アダプターのオプションを変更する」 からイーサネットを無効にして接続中
一番最初は 5chに書き込むたびにPCの裏に回り、 いちいち外しにくいLANケーブルを切り離していたから、
これでも 石器時代から稲作が出来るくらいには進化しているのだがw
たぶん名前が一致しなくなってしまった?のが原因と思うので、自分で対策してみますm(_ _)m
仕方なく、以前と同じように 「アダプターのオプションを変更する」 からイーサネットを無効にして接続中
一番最初は 5chに書き込むたびにPCの裏に回り、 いちいち外しにくいLANケーブルを切り離していたから、
これでも 石器時代から稲作が出来るくらいには進化しているのだがw
たぶん名前が一致しなくなってしまった?のが原因と思うので、自分で対策してみますm(_ _)m
687デフォルトの名無しさん
2022/03/12(土) 19:45:55.71ID:i3Z8TR4r 全自動で書き込みだけ他に流す仕組み考えてみたけど作らなきゃいけない部分もあるから質問者が実行できる気がしない(もはやスレチレベル)
スマホと書いてあるけど、安いPPPoEのプロバイダ契約するとか、donedoneや楽天、povoみたいな基本0円のSIM+モバイルルーターの回線と余ってるPCや仮想マシンを使っても良い
専ブラが使ってる5chのAPIの各リクエストが分離できる(事前に認証を行ったりする必要がない)と仮定すれば以下の仕組みで行けるはず
自宅内に5ch.netの各サーバーのリバースプロキシを立ててオレオレCA運用を行う
クライアント側でCAの自己証明書をOSに追加して、そのローカルIPをhostsで5chの各サーバに設定する
リバースプロキシ側で特定のパスのリクエストだけはスマホ側に用意したサーバーに投げる
スマホ側のサーバーはリクエストを受け取ったら、正しい5chのサーバーに投げて、その応答を返す
スマホと書いてあるけど、安いPPPoEのプロバイダ契約するとか、donedoneや楽天、povoみたいな基本0円のSIM+モバイルルーターの回線と余ってるPCや仮想マシンを使っても良い
専ブラが使ってる5chのAPIの各リクエストが分離できる(事前に認証を行ったりする必要がない)と仮定すれば以下の仕組みで行けるはず
自宅内に5ch.netの各サーバーのリバースプロキシを立ててオレオレCA運用を行う
クライアント側でCAの自己証明書をOSに追加して、そのローカルIPをhostsで5chの各サーバに設定する
リバースプロキシ側で特定のパスのリクエストだけはスマホ側に用意したサーバーに投げる
スマホ側のサーバーはリクエストを受け取ったら、正しい5chのサーバーに投げて、その応答を返す
688デフォルトの名無しさん
2022/03/12(土) 20:42:13.77ID:dQfogYw2 ま、5chはIPは5つしか無いけど
104.18.231.150
104.18.232.150
104.18.233.150
104.18.234.150
104.18.235.150
これはどの鯖でも共通(apiだろうがegg,kizuna,meviusだろうが)で
この5つのどれかをランダムで使う
なお、このIPは導入時から変わってない
104.18.231.150
104.18.232.150
104.18.233.150
104.18.234.150
104.18.235.150
これはどの鯖でも共通(apiだろうがegg,kizuna,meviusだろうが)で
この5つのどれかをランダムで使う
なお、このIPは導入時から変わってない
689デフォルトの名無しさん
2022/03/18(金) 00:52:20.19ID:SoYXm1dj startでバッチファイルを実行すると、cmdウィンドウが残る
バッチファイルの最後をexit /B でなくexitにすると残らなかった
バッチファイルの最後をexit /B でなくexitにすると残らなかった
690デフォルトの名無しさん
2022/03/18(金) 07:45:35.96ID:5cZqh0Cb help exitに書いてあるでしょ
691デフォルトの名無しさん
2022/03/24(木) 13:13:33.35ID:dCVvmFB6 最近ReactOSのソース読み始めたが勉強になるな
変な挙動のところは親切に#ifndef MSCMD_XXX_QUIRKSって書いてあってわろ
MS-DOS2.0のソースはMS公式が公開してるけどアセンブリは難解すぎて諦めた
変な挙動のところは親切に#ifndef MSCMD_XXX_QUIRKSって書いてあってわろ
MS-DOS2.0のソースはMS公式が公開してるけどアセンブリは難解すぎて諦めた
692デフォルトの名無しさん
2022/03/26(土) 06:55:33.59ID:NhkQRxfw batにVBS仕込めるけど、JSは仕込める?
他に仕込めるものある?
他に仕込めるものある?
693デフォルトの名無しさん
2022/03/26(土) 12:54:10.76ID:vpv2MT5y ググれよ
WSH(JScript)なら可、JavaScriptは無理だと思う
PowerShellも可
WSH(JScript)なら可、JavaScriptは無理だと思う
PowerShellも可
694デフォルトの名無しさん
2022/03/29(火) 16:59:49.39ID:zndnyGpb Batになんか仕込むんならPowershellがいちばん簡単
VBSも上手いことやれば仕込めるし
VBSも上手いことやれば仕込めるし
695デフォルトの名無しさん
2022/03/29(火) 17:48:10.85ID:Da68lL6t >>631 みたいにすれば大体何でもイケるんじゃね
696デフォルトの名無しさん
2022/03/29(火) 18:45:33.65ID:CGMVb58j 我が家では外部ファイルを使うのは邪道とされておるのだ
697デフォルトの名無しさん
2022/03/29(火) 21:38:59.70ID:6qHTZxky 631みたいのはバッチ内のPowerShellでもっとスマートに書けるね
相変わらずコンソール消しても一瞬出てきて邪魔だけど
完全に消すにはvbsから呼んだりで結局2ファイルになる
相変わらずコンソール消しても一瞬出てきて邪魔だけど
完全に消すにはvbsから呼んだりで結局2ファイルになる
698デフォルトの名無しさん
2022/04/03(日) 02:50:31.03ID:hpCvdrMf バッチ自体を初めて作っててクリップボードのテキストを[]で囲んだ名前のフォルダをデスクトップに作りたいんだけど
powershell get-clipboardでクリップボードから持ってくる
mdとかNew-Item NewDirecrtoryでフォルダを作る
までわかって|とか>で色々試して見たんだけどまあ上手くいくはずもなく
そもそも出来る事なのかもわからないから質問しに来ました!たっけてー
powershell get-clipboardでクリップボードから持ってくる
mdとかNew-Item NewDirecrtoryでフォルダを作る
までわかって|とか>で色々試して見たんだけどまあ上手くいくはずもなく
そもそも出来る事なのかもわからないから質問しに来ました!たっけてー
699デフォルトの名無しさん
2022/04/03(日) 08:04:11.49ID:VNoVBeip for /f "delims=" %%a in ('powershell clipboard') do md [%a]
700デフォルトの名無しさん
2022/04/03(日) 08:07:00.01ID:VNoVBeip for /f "delims=" %%a in ('powershell clipboard') do md [%%~a]
701デフォルトの名無しさん
2022/04/03(日) 09:37:15.22ID:hpCvdrMf >>700
ありがとう!
for /f "delims=" %%a in ('powershell clipboard') do md C:\Users\----\Desktop\[%%~a]
でいけました。
ありがとう!
for /f "delims=" %%a in ('powershell clipboard') do md C:\Users\----\Desktop\[%%~a]
でいけました。
702デフォルトの名無しさん
2022/04/03(日) 15:33:41.09ID:MONKPJtx >>698
ちなみにPowerShellだけなら
powershell -c "Get-ClipBoard | ?{$_} | foreach {$dirName='[{0}]' -f $_; $dirPath=[IO.Path]::Combine([Environment]::GetFolderPath('Desktop'), $dirName); $null=[IO.Directory]::CreateDirectory($dirPath);}"
ちなみにPowerShellだけなら
powershell -c "Get-ClipBoard | ?{$_} | foreach {$dirName='[{0}]' -f $_; $dirPath=[IO.Path]::Combine([Environment]::GetFolderPath('Desktop'), $dirName); $null=[IO.Directory]::CreateDirectory($dirPath);}"
703デフォルトの名無しさん
2022/04/03(日) 15:38:56.15ID:XWBs+Kvf704デフォルトの名無しさん
2022/04/03(日) 17:32:35.14ID:5jbreqOF スペースのある文字列の扱いがわからんな
複数作ることを意図または許容するのか否かでちょっと違ってくる
複数作ることを意図または許容するのか否かでちょっと違ってくる
705デフォルトの名無しさん
2022/04/03(日) 22:48:33.20ID:7tiScrqu cmdのmkdirで作るか>>702みたいに.NETのAPIで作るかWin2APIで作るかでも違ってくる
706デフォルトの名無しさん
2022/04/03(日) 23:24:55.78ID:hpCvdrMf 色々方法があるけど何かしらcmdのみでは出来ないって事だけはわかった
面白いから少し勉強しようかなあ
面白いから少し勉強しようかなあ
707デフォルトの名無しさん
2022/04/14(木) 00:56:37.37ID:FFCnePh6 batにドラッグするだけで複数zipを同じ階層に解凍してくれるbatが作りたいです。
圧縮の場合は
@echo off
path C:\Program Files\7-Zip;%path%
for %%i in (%*) do cd /d "%%~i" && 7z a "%%~i.zip" *
で出来るのですが、解凍の場合がわかりません。わかる方いれば教えていただきたいです。宜しくお願い致します。
圧縮の場合は
@echo off
path C:\Program Files\7-Zip;%path%
for %%i in (%*) do cd /d "%%~i" && 7z a "%%~i.zip" *
で出来るのですが、解凍の場合がわかりません。わかる方いれば教えていただきたいです。宜しくお願い致します。
708デフォルトの名無しさん
2022/04/14(木) 02:56:14.25ID:wBUYMDtu :start
if "%~1"=="" goto :EOF
7z.exe x "%~1" -o"%~dpn1" -y
shift
goto :start
if "%~1"=="" goto :EOF
7z.exe x "%~1" -o"%~dpn1" -y
shift
goto :start
709デフォルトの名無しさん
2022/04/14(木) 16:24:25.05ID:NCtDoq3M 俺の勘違いだったらすまん
ドラッグで引数を渡す系だとバッチは括弧付きのファイル名が入った時点で破綻するような気がする
変なしがらみのないvbsやjs辺りで書いた方がいいかも
ドラッグで引数を渡す系だとバッチは括弧付きのファイル名が入った時点で破綻するような気がする
変なしがらみのないvbsやjs辺りで書いた方がいいかも
710デフォルトの名無しさん
2022/04/14(木) 18:16:44.99ID:qAvWbsmN 括弧の他にも色々とダメ文字が頭に浮かぶな
711デフォルトの名無しさん
2022/04/14(木) 20:34:57.53ID:YeXmNplS 複数選択のコンテキストメニューから展開した方がいいのでは
712デフォルトの名無しさん
2022/04/15(金) 20:04:21.77ID:neP5mDTX713デフォルトの名無しさん
2022/04/15(金) 20:49:13.87ID:6g+y36jy echo on で何が起きているか調べろ
ちなみに何をドラッグしているのか?
ちなみに何をドラッグしているのか?
714デフォルトの名無しさん
2022/04/15(金) 21:59:36.90ID:EPzG8fyD715デフォルトの名無しさん
2022/04/15(金) 22:29:24.28ID:4ntMkwZZ どこのスレのことかと思いましたが、
7-Zip総合スレ Part 10
https://egg.5ch.net/test/read.cgi/software/1520243361/454-
のことでしょうかね。
たしかに、>>707は、この人かも。
7-Zip総合スレ Part 10
https://egg.5ch.net/test/read.cgi/software/1520243361/454-
のことでしょうかね。
たしかに、>>707は、この人かも。
716デフォルトの名無しさん
2022/04/15(金) 23:09:37.54ID:7iiWUl24 ファイル名に半角スペースがあるとエラーになるよね
717デフォルトの名無しさん
2022/04/15(金) 23:40:21.50ID:neP5mDTX フォルダを圧縮したいのでフォルダドラッグしてます それはbatファイルでは不可能なんですかね
718デフォルトの名無しさん
2022/04/15(金) 23:56:17.81ID:cTakk7Wr これ以上触ってはいけないような気がする
719デフォルトの名無しさん
2022/04/16(土) 05:57:00.04ID:ZvCxX7eE720デフォルトの名無しさん
2022/04/16(土) 10:15:06.24ID:Xjbe7mxo 昔自作したやつがそう言えばどっかにあったな
色々試したけどzip名に全角スペースが含まれてる場合だけはどうにも出来なくて別のリネームバッチで半角スペースに置き換えてたわ
色々試したけどzip名に全角スペースが含まれてる場合だけはどうにも出来なくて別のリネームバッチで半角スペースに置き換えてたわ
721デフォルトの名無しさん
2022/04/16(土) 14:56:19.74ID:D1hG0R6r list1.txt
田中
山田
list2.txt
一郎
次郎
三郎
に対して
xj.bat
@echo off
setlocal enabledelayedexpansion
call :crossjoin "" %*
exit /b
:crossjoin
for /F "tokens=*" %%l in (%~2) do (
if [%~3] == [] (
set x=%~1%%l
echo !x:__=,!
) else (
set y= %*
set y=!y: %1=!
set y=!y: %2=!
call :crossjoin "%~1%%l__" !y!
)
)
を動かすと
xj.bat list1.txt list2.txt (続く)
田中
山田
list2.txt
一郎
次郎
三郎
に対して
xj.bat
@echo off
setlocal enabledelayedexpansion
call :crossjoin "" %*
exit /b
:crossjoin
for /F "tokens=*" %%l in (%~2) do (
if [%~3] == [] (
set x=%~1%%l
echo !x:__=,!
) else (
set y= %*
set y=!y: %1=!
set y=!y: %2=!
call :crossjoin "%~1%%l__" !y!
)
)
を動かすと
xj.bat list1.txt list2.txt (続く)
722デフォルトの名無しさん
2022/04/16(土) 14:56:54.30ID:D1hG0R6r 田中,一郎
田中,次郎
田中,三郎
山田,一郎
山田,次郎
山田,三郎
を得ます
このバッチファイルを
list3.txt
姓
田中
山田
list4.txt
名前
一郎
次郎
三郎
と、見出しが入ったファイルに対応するよう
改造していただけませんか
田中,次郎
田中,三郎
山田,一郎
山田,次郎
山田,三郎
を得ます
このバッチファイルを
list3.txt
姓
田中
山田
list4.txt
名前
一郎
次郎
三郎
と、見出しが入ったファイルに対応するよう
改造していただけませんか
723デフォルトの名無しさん
2022/04/16(土) 15:04:34.68ID:akel0sHj for /i分にskip=1指定入れてみるとか
724721
2022/04/16(土) 15:25:35.02ID:D1hG0R6r ありがとうございます
今アンドロイドなので、PC使えるときに
試して報告します
ちなみに、こういう総当りって、awkやPerl
でも作れるものでしょうか?
今アンドロイドなので、PC使えるときに
試して報告します
ちなみに、こういう総当りって、awkやPerl
でも作れるものでしょうか?
725デフォルトの名無しさん
2022/04/16(土) 15:43:07.54ID:pX/6gg3y %%lとか気持ち悪いな
こういうこと?
for /f "skip=1 delims=" %%a in (list3.txt) do for /f "skip=1 delims=" %%b in (list4.txt) do echo %%a,%%b
pause
なんでcallしたり置換したり面倒臭い事してるのか分からん
こういうこと?
for /f "skip=1 delims=" %%a in (list3.txt) do for /f "skip=1 delims=" %%b in (list4.txt) do echo %%a,%%b
pause
なんでcallしたり置換したり面倒臭い事してるのか分からん
726721
2022/04/16(土) 15:58:27.63ID:D1hG0R6r ありがとうございます
引用先の元ネタは、list1.txtなどの
対象ファイルがいくつでもいけます
そのためかと
引用先の元ネタは、list1.txtなどの
対象ファイルがいくつでもいけます
そのためかと
727デフォルトの名無しさん
2022/04/16(土) 17:13:22.10ID:nVJ4wCm0 やりたい事に対して一見して処理が意味不明
コードレビューすれば必ず突っ込みが入るパターン
コードレビューすれば必ず突っ込みが入るパターン
728デフォルトの名無しさん
2022/04/16(土) 17:39:10.95ID:akel0sHj shiftとか知らんのかな
729721
2022/04/17(日) 14:55:17.75ID:wrqgojCl "tokens=*" を
"skip=1 tokens=*" に変えたら
見出しを飛ばしてデータを作ってくれました
だけど出力ファイルが大きいとかなり
時間がかかりますね
元ネタのところに行ってVBS版の作成を
依頼してみます
ありがとうございました
"skip=1 tokens=*" に変えたら
見出しを飛ばしてデータを作ってくれました
だけど出力ファイルが大きいとかなり
時間がかかりますね
元ネタのところに行ってVBS版の作成を
依頼してみます
ありがとうございました
730デフォルトの名無しさん
2022/04/17(日) 15:10:00.22ID:jfoLRRUl ニコイチする度にcallしてたらそりゃ遅いわ
再帰でのcallやめるだけで結構速くなるよ
再帰でのcallやめるだけで結構速くなるよ
731デフォルトの名無しさん
2022/04/17(日) 16:31:06.01ID:A4GG7JI6 ハッチ処理はあまりやりたくないから、
もっとかっこいい言語でかいて、バッチに変換する(コンパイル)できるといい
バッチ見えなく化計画
もっとかっこいい言語でかいて、バッチに変換する(コンパイル)できるといい
バッチ見えなく化計画
732デフォルトの名無しさん
2022/04/17(日) 17:32:55.50ID:iLyScgaF >>708さんのを使ってみました
ファイル名にスペースが入っていると展開されないのを回避することできますか
:start
if "%~1"=="" goto :EOF
"C:\Program Files\7-Zip\7zG.exe" x "%1"
shift
goto :start
ファイル名にスペースが入っていると展開されないのを回避することできますか
:start
if "%~1"=="" goto :EOF
"C:\Program Files\7-Zip\7zG.exe" x "%1"
shift
goto :start
733デフォルトの名無しさん
2022/04/17(日) 17:39:26.89ID:b4thkYbt 上で"%~1"使ってるのに下では"%1"にしてる
734デフォルトの名無しさん
2022/04/17(日) 17:41:48.86ID:jfoLRRUl echoやpause使ってコマンド文がどうなってるのか確認したら?
735デフォルトの名無しさん
2022/04/17(日) 17:50:28.17ID:iLyScgaF736デフォルトの名無しさん
2022/04/17(日) 18:36:17.23ID:i7g3Seu6 いつまでこんなレガシー機能を使い続けるの
737デフォルトの名無しさん
2022/04/18(月) 11:21:00.70ID:PhhBhq60 >>736
powerShellがダブククリックで使えないし
powerShellがダブククリックで使えないし
738デフォルトの名無しさん
2022/04/18(月) 11:27:46.45ID:t3NwdXGg シンプルだからこそC++でジェネレートした.batを目視確認してから実行とかしやすいわけで
739デフォルトの名無しさん
2022/04/18(月) 13:50:09.12ID:OF8RRP9C >>730
どう書けばいいですか?
どう書けばいいですか?
740デフォルトの名無しさん
2022/04/18(月) 14:16:43.44ID:74jROqLf すでにあるコマンドを使うというのは楽でいい
もう少し細かいことをしたいと思うと苦労するけど
もう少し細かいことをしたいと思うと苦労するけど
741デフォルトの名無しさん
2022/04/20(水) 03:57:14.74ID:RFdms0p+ PAUSEコマンド関連で質問です
バッチファイル中にPAUSEコマンドを入れるとそこでキー入力を待ちますが、
その延長で
・エクスプローラでダブルクリックされて起動された場合はPAUSEで止める
・コマンドプロンプトから起動された場合は止めない
ということをしたいです
PAUSEコマンド自体には何もオプション等は無いようなのですが、何か方法はありますか
環境変数等をみて動作を切り替えることができないか調べてみましたが、
どちらの方法で起動されても同一なようで、悩んでおります
バッチファイル中にPAUSEコマンドを入れるとそこでキー入力を待ちますが、
その延長で
・エクスプローラでダブルクリックされて起動された場合はPAUSEで止める
・コマンドプロンプトから起動された場合は止めない
ということをしたいです
PAUSEコマンド自体には何もオプション等は無いようなのですが、何か方法はありますか
環境変数等をみて動作を切り替えることができないか調べてみましたが、
どちらの方法で起動されても同一なようで、悩んでおります
742デフォルトの名無しさん
2022/04/20(水) 05:42:50.53ID:q7JwT6An743デフォルトの名無しさん
2022/04/20(水) 07:19:49.48ID:Cwlkz3kl コマンドプロンプトを起動するときのショートカットに/k:autoexec.batを入れて
autoexec.batの中でset not_double_click=true
そしてダブルクリックで起動するバッチの中で
if not "%not_double_click%"=="true" pause
とか、どうかな
autoexec.batの中でset not_double_click=true
そしてダブルクリックで起動するバッチの中で
if not "%not_double_click%"=="true" pause
とか、どうかな
744デフォルトの名無しさん
2022/04/20(水) 09:15:24.62ID:RFdms0p+ >>742-743
回答どうもです
なるほど、ショートカットを作り、そこに判定の仕掛けを入れる、という方式ですね
ツールを配布するときは、ショートカットの設定やコマンドプロンプトの設定を
するためのインストーラが必要になりそうですね…
バッチファイル単体でどうにか…と思いましたが、検討してみます
回答どうもです
なるほど、ショートカットを作り、そこに判定の仕掛けを入れる、という方式ですね
ツールを配布するときは、ショートカットの設定やコマンドプロンプトの設定を
するためのインストーラが必要になりそうですね…
バッチファイル単体でどうにか…と思いましたが、検討してみます
745デフォルトの名無しさん
2022/04/20(水) 09:26:15.67ID:q7JwT6An746デフォルトの名無しさん
2022/04/21(木) 14:21:13.38ID:asEavXVa 昔の友は 今も友
俺とお前と(デンデン)大五郎
俺とお前と(デンデン)大五郎
747デフォルトの名無しさん
2022/04/21(木) 16:29:36.51ID:7MR/4l0o ちゃん!
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 千晴おはよう
- 【実況】博衣こよりのえちえち朝こよ🧪
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 「これが完成された醜い姿である>>1」←これなに?
- 安倍晋三の遺産、日銀ETF売却終了予定は2138年 [115996789]
