拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1424858999/
【.cmd】 バッチファイルスクリプト %12 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1489207631/
それ以前の過去スレ
%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://pc12.2ch.net/test/read.cgi/tech/1197881068/
%1 http://pc11.2ch.net/test/read.cgi/tech/1178281991/
探検
【.cmd】 バッチファイルスクリプト %13 【.bat】
■ このスレッドは過去ログ倉庫に格納されています
2018/11/21(水) 14:52:07.84ID:v84I4o+L
2018/11/21(水) 14:53:38.55ID:v84I4o+L
スレ作った
2018/11/21(水) 15:10:24.99ID:ROx7bOng
>>1
いちおつ
ところで、最近、プロンプトの色が変わってしまったんだが直し方教えてください
くすんだ感じになってしまう
color 9f
とか明るい色が顕著
自分で加えた変更の何が影響したのかわからず、途方に暮れてます
いちおつ
ところで、最近、プロンプトの色が変わってしまったんだが直し方教えてください
くすんだ感じになってしまう
color 9f
とか明るい色が顕著
自分で加えた変更の何が影響したのかわからず、途方に暮れてます
2018/11/21(水) 15:28:50.54ID:0+i4JzOE
タヒ
2018/11/21(水) 15:34:12.06ID:0TmpON8B
>>1乙
テンプレ文だがもうWSHよりはPowershellじゃないのかしら?
テンプレ文だがもうWSHよりはPowershellじゃないのかしら?
2018/11/21(水) 15:54:50.45ID:waeO4Jak
powershellはここの板に別スレがあってここで取り扱う必用は無い
一方wshはもはや専用スレは無くこのスレに含めた形で残っている
一方wshはもはや専用スレは無くこのスレに含めた形で残っている
2018/11/21(水) 23:59:36.40ID:VxDAgoaS
>>3 自己レスです
レジストリの
HKEY_CURRENT_USER\Console にある ColorTableXX で指定された
色 00BBGGRR がソレだったので何かが変だった訳でもなく、忠実に
この値を読んでいただけでした
黒をわざわざ 0c0c0c にしていたり、全テーブル 00 から 15 まで
全て変更が入っていたので、いつの間に変更したのかという疑問が
残りますが……
レジストリの
HKEY_CURRENT_USER\Console にある ColorTableXX で指定された
色 00BBGGRR がソレだったので何かが変だった訳でもなく、忠実に
この値を読んでいただけでした
黒をわざわざ 0c0c0c にしていたり、全テーブル 00 から 15 まで
全て変更が入っていたので、いつの間に変更したのかという疑問が
残りますが……
2018/11/22(木) 05:37:11.56ID:HUZaaTR+
>REG QUERY "HKCU\Console" /f ColorTable*
HKEY_CURRENT_USER\Console
ColorTable00 REG_DWORD 0x0
ColorTable01 REG_DWORD 0x800000
ColorTable02 REG_DWORD 0x8000
ColorTable03 REG_DWORD 0x808000
ColorTable04 REG_DWORD 0x80
ColorTable05 REG_DWORD 0x800080
ColorTable06 REG_DWORD 0x8080
ColorTable07 REG_DWORD 0xc0c0c0
ColorTable08 REG_DWORD 0x808080
ColorTable09 REG_DWORD 0xff0000
ColorTable10 REG_DWORD 0xff00
ColorTable11 REG_DWORD 0xffff00
ColorTable12 REG_DWORD 0xff
ColorTable13 REG_DWORD 0xff00ff
ColorTable14 REG_DWORD 0xffff
ColorTable15 REG_DWORD 0xffffff
HKEY_CURRENT_USER\Console
ColorTable00 REG_DWORD 0x0
ColorTable01 REG_DWORD 0x800000
ColorTable02 REG_DWORD 0x8000
ColorTable03 REG_DWORD 0x808000
ColorTable04 REG_DWORD 0x80
ColorTable05 REG_DWORD 0x800080
ColorTable06 REG_DWORD 0x8080
ColorTable07 REG_DWORD 0xc0c0c0
ColorTable08 REG_DWORD 0x808080
ColorTable09 REG_DWORD 0xff0000
ColorTable10 REG_DWORD 0xff00
ColorTable11 REG_DWORD 0xffff00
ColorTable12 REG_DWORD 0xff
ColorTable13 REG_DWORD 0xff00ff
ColorTable14 REG_DWORD 0xffff
ColorTable15 REG_DWORD 0xffffff
2018/11/22(木) 06:45:17.58ID:y7NAvoby
>>6
> powershellはここの板に別スレがあってここで取り扱う必用は無い
別にここで取り扱えという話じゃなくて「使用も検討しましょう」って話な
PowerShell の話題が出たら誘導すればいいだけだし
> 一方wshはもはや専用スレは無くこのスレに含めた形で残っている
wshの専用スレがないのは需要がないからだろ
そんなものに対して使用を検討する必要なんてないと思うぞ
> powershellはここの板に別スレがあってここで取り扱う必用は無い
別にここで取り扱えという話じゃなくて「使用も検討しましょう」って話な
PowerShell の話題が出たら誘導すればいいだけだし
> 一方wshはもはや専用スレは無くこのスレに含めた形で残っている
wshの専用スレがないのは需要がないからだろ
そんなものに対して使用を検討する必要なんてないと思うぞ
2018/11/22(木) 07:28:54.55ID:Q9Jr5DcP
>>8
デフォルト値ありがとうございます
実際にOSインストールしなおしての確認はしてないのですが
Win10_1809Oct_Japanese_x64.iso の install.wim の
install.wim\3\Users\Default\NTUSER.DAT
ハイブファイルのロードをしてみると変化していた方の配色と一致してました
OSクリーンインストール後、しばらく変化に気づいていなかっただけ、
という事のようです
少し透かしていたから 000000 と 0c0c0c の違いに気づくのもほぼ無理ゲー、
だったのも加味して……
スレ汚し失礼しました
デフォルト値ありがとうございます
実際にOSインストールしなおしての確認はしてないのですが
Win10_1809Oct_Japanese_x64.iso の install.wim の
install.wim\3\Users\Default\NTUSER.DAT
ハイブファイルのロードをしてみると変化していた方の配色と一致してました
OSクリーンインストール後、しばらく変化に気づいていなかっただけ、
という事のようです
少し透かしていたから 000000 と 0c0c0c の違いに気づくのもほぼ無理ゲー、
だったのも加味して……
スレ汚し失礼しました
2018/11/22(木) 08:20:54.79ID:HUZaaTR+
俺も以前に経験あるが何で勝手に変わるのか未だに不明
デフォにしたけりゃ"HKCU\Console"消して起動したらいいんだけど
デフォにしたけりゃ"HKCU\Console"消して起動したらいいんだけど
2018/11/23(金) 06:41:38.84ID:Yr5PhtU+
2018/11/23(金) 07:03:12.22ID:Yr5PhtU+
dir | more でEnter押すと1行ずつ出てくるんだけど
前からこんな動作だったっけ?
dir /p みたいにページごとにスクロールしないのか?
ちなみにWin10Pro 1809 17763.107 だ
前からこんな動作だったっけ?
dir /p みたいにページごとにスクロールしないのか?
ちなみにWin10Pro 1809 17763.107 だ
2018/11/23(金) 07:31:03.82ID:Yr5PhtU+
すまんhelp見たら
<ret> 次の行を表示します。
になってた。
あとスレチだが gpg -d がエラー出る...
<ret> 次の行を表示します。
になってた。
あとスレチだが gpg -d がエラー出る...
2018/11/23(金) 13:03:06.27ID:H8vDP5fG
このスレってテンプレに「 次スレは>>970踏んだ人が立てましょう 」とかないんだね。
毎回同じ人が立ててるのかな?
毎回同じ人が立ててるのかな?
16デフォルトの名無しさん
2018/12/02(日) 11:33:28.29ID:WVaKBjKU ffmpegで動画容量を減らしています
この先何度も使いそうなのでドラック&ドロップなどで簡単にしたいのでバッチファイルの作り方を教えていただけませんか
また,バッチファイルでなくとも他に良い方法などありましたらぜひお願いします
ffmpeg -i "sample.mp4" -b:v 500k -pass 1 output.mp4
ffmpeg -i "sample.mp4" -b:v 500k -pass 2 output.mp4
普段はこれを実行しています
この先何度も使いそうなのでドラック&ドロップなどで簡単にしたいのでバッチファイルの作り方を教えていただけませんか
また,バッチファイルでなくとも他に良い方法などありましたらぜひお願いします
ffmpeg -i "sample.mp4" -b:v 500k -pass 1 output.mp4
ffmpeg -i "sample.mp4" -b:v 500k -pass 2 output.mp4
普段はこれを実行しています
2018/12/02(日) 14:26:12.73ID:uIlAasYL
シェルスクリプト・PowerShell もあるけど、
安全性のため、ダブルクリックでは動かない
ダブルクリックで動くのは、バッチファイルだけ
安全性のため、ダブルクリックでは動かない
ダブルクリックで動くのは、バッチファイルだけ
2018/12/03(月) 10:52:45.51ID:mYQmjn55
>>16
オイラはSendToにバッチファイル(のショートカットでもOK)入れて右クリックの送るから使ってる
C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\SendTo
2-passは使ったことないけど、とりあえず >>16 の処理をするようになってるはず
適当なファイル名を拡張子batで保存して使ってちょ
書き込み時にインデント消えちゃうかもしれないけど、3行目の&&の前だけは先頭に空白1文字以上入れてちょ
for %%f in (%*) do (
ffmpeg -y -i "%%~ff" -b:v 500k -pass 1 -f mp4 NUL ^
&& ffmpeg -i "%%~ff" -b:v 500k -pass 2 "%%~df%%~pf%%~nf_output%%~xf"
)
pause
自動でウィンドウ閉じたければ最後のpauseはいらない
出力ファイル名は入力ファイル名_outputにしてるけど、お好みで変えればよい
複数ファイルも順番に処理するよ
オイラはSendToにバッチファイル(のショートカットでもOK)入れて右クリックの送るから使ってる
C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\SendTo
2-passは使ったことないけど、とりあえず >>16 の処理をするようになってるはず
適当なファイル名を拡張子batで保存して使ってちょ
書き込み時にインデント消えちゃうかもしれないけど、3行目の&&の前だけは先頭に空白1文字以上入れてちょ
for %%f in (%*) do (
ffmpeg -y -i "%%~ff" -b:v 500k -pass 1 -f mp4 NUL ^
&& ffmpeg -i "%%~ff" -b:v 500k -pass 2 "%%~df%%~pf%%~nf_output%%~xf"
)
pause
自動でウィンドウ閉じたければ最後のpauseはいらない
出力ファイル名は入力ファイル名_outputにしてるけど、お好みで変えればよい
複数ファイルも順番に処理するよ
2018/12/04(火) 18:23:57.45ID:YV7FMG5g
typeコマンドってパイプかますと出力が変わるんだな...
以前はこんなじゃなかったような気がするが?
>type a
abc漢字def
>nkf -SjO a b
>nkf -Js b
abc漢字def
>type b
abc4A;zdef
>type b | more
abc$B4A;z(Bdef
以前はこんなじゃなかったような気がするが?
>type a
abc漢字def
>nkf -SjO a b
>nkf -Js b
abc漢字def
>type b
abc4A;zdef
>type b | more
abc$B4A;z(Bdef
2018/12/04(火) 20:16:59.52ID:Mme7W69z
"C:\hoge.exe"というプログラムを再起動したくて
taskkill /im hoge.exe /f
start C:\hoge.exe
という2行のバッチを書いたら、hoge.exeがまだ終了しきってなくて起動しませんでした。
hoge.exeの終了にかかる時間が3秒だったり20秒だったりとまちまちなので
タスクリストから居なくなったことを確認してから起動したいのですが
どう書けばよいのでしょうか?
taskkill /im hoge.exe /f
start C:\hoge.exe
という2行のバッチを書いたら、hoge.exeがまだ終了しきってなくて起動しませんでした。
hoge.exeの終了にかかる時間が3秒だったり20秒だったりとまちまちなので
タスクリストから居なくなったことを確認してから起動したいのですが
どう書けばよいのでしょうか?
2018/12/04(火) 21:09:17.31ID:YV7FMG5g
TASKLISTで確認?
2018/12/05(水) 10:02:24.61ID:miUFx5r6
>>20
こんな感じでどうだろうか?
taskkill /im hoge.exe /f
:check_run
timeout /t 1 /nobreak >nul
tasklist | find "hoge.exe" >nul && goto check_run
start C:\hoge.exe
こんな感じでどうだろうか?
taskkill /im hoge.exe /f
:check_run
timeout /t 1 /nobreak >nul
tasklist | find "hoge.exe" >nul && goto check_run
start C:\hoge.exe
2018/12/05(水) 15:06:21.73ID:B1LaPmLX
2018/12/05(水) 15:22:10.57ID:GaZgkwnu
今help見たら、まだ直ってねえ...
tasklist/?のフィルター名IMAGENAMは間違いだ...
for /f "skip=1" %%i in ('tasklist /fi "imagename eq hoge.exe"') do goto check_run
tasklist/?のフィルター名IMAGENAMは間違いだ...
for /f "skip=1" %%i in ('tasklist /fi "imagename eq hoge.exe"') do goto check_run
2018/12/05(水) 15:39:45.58ID:GaZgkwnu
あ、条件が逆w...
2018/12/05(水) 15:42:42.33ID:GaZgkwnu
逆じゃないなw ボケたなあ...
2720
2018/12/05(水) 22:04:34.15ID:82viBDdQ みなさんレスありがとうございます!
明日職場で試してみますね。
恥ずかしながら自宅PCが古すぎてtasklistコマンドとかが無いので
(WinXP Homeです。Win7が故障中なので…)
どうもありがとうございました!
明日職場で試してみますね。
恥ずかしながら自宅PCが古すぎてtasklistコマンドとかが無いので
(WinXP Homeです。Win7が故障中なので…)
どうもありがとうございました!
2018/12/05(水) 22:18:55.09ID:NGe7cQU/
XPならtimeoutも無いから
2018/12/06(木) 05:58:03.99ID:+WfW7iJP
XPってtaklistすらないんか…( ゚д゚)ポカーン
にしては↓のスレは盛況だなw
WindowsXPを使い続けるよ Part94
https://mevius.5ch.net/test/read.cgi/win/1543650955/
にしては↓のスレは盛況だなw
WindowsXPを使い続けるよ Part94
https://mevius.5ch.net/test/read.cgi/win/1543650955/
2018/12/06(木) 06:30:42.74ID:U/lGMKnD
XP Proにはあるんだが
XP HomeではPowerShellのGet-Processで代用できるらしいよ
PowerShell1.1以降らしいから、PowerShell2.0をインストールしないといけないけど
XP HomeではPowerShellのGet-Processで代用できるらしいよ
PowerShell1.1以降らしいから、PowerShell2.0をインストールしないといけないけど
2018/12/06(木) 15:26:32.29ID:iJNEICpM
Sysinternals Suite にある、pslistを始めとするコマンド群を利用すれば、
XPでも同等のことは出来る
XPでも同等のことは出来る
2018/12/06(木) 21:28:59.92ID:HLPPFLjR
XPの駆除には苦労した。
Vistaの切られぶりには辟易。
管理者って損な役回りだよなぁ…。
今は7の駆除中。
Vistaの切られぶりには辟易。
管理者って損な役回りだよなぁ…。
今は7の駆除中。
33デフォルトの名無しさん
2018/12/06(木) 23:38:01.47ID:UfR2YFj92018/12/07(金) 11:34:54.02ID:k1b27fN5
>>19
それパイプ処理してるコマンドの方の問題じゃなくて?
それパイプ処理してるコマンドの方の問題じゃなくて?
2018/12/07(金) 12:17:44.85ID:cJMcluJv
俺には何が原因か分からない
画面コンソール入力するたびに最下段にスクロールするし
スレチだけど
gpg -d で画面表示させるとエラー
gpg -h で画面表示させると文字化けまくり
cmd の表示関係が最近おかしい...
画面コンソール入力するたびに最下段にスクロールするし
スレチだけど
gpg -d で画面表示させるとエラー
gpg -h で画面表示させると文字化けまくり
cmd の表示関係が最近おかしい...
2018/12/07(金) 19:56:05.65ID:iBsL10N5
xcopyで出来ることは全てrobocopyでも出来るという認識で良いのでしょうか?
2018/12/07(金) 21:49:55.05ID:cUniS7mm
>>36
削られてるオプションもあるけど「出来ること」に関してはほぼその認識で合ってるんじゃないかな。
ただ、xcopy が対話指向なのに対して robocopy はバッチ指向になってる。(言い換えればログ指向)
コマンドを置き換えれば良いというものではない。場合によってはログが五月蠅い。
ま、今時、ネットワーク越しやバッチ処理でのコピーに xcopy は御法度レベルだから xcopy なんか忘れちゃってもいいと思う。
削られてるオプションもあるけど「出来ること」に関してはほぼその認識で合ってるんじゃないかな。
ただ、xcopy が対話指向なのに対して robocopy はバッチ指向になってる。(言い換えればログ指向)
コマンドを置き換えれば良いというものではない。場合によってはログが五月蠅い。
ま、今時、ネットワーク越しやバッチ処理でのコピーに xcopy は御法度レベルだから xcopy なんか忘れちゃってもいいと思う。
38not 36
2018/12/07(金) 23:31:50.72ID:J47iFz0r >>37
>ネットワーク越しやバッチ処理でのコピーに xcopy は御法度レベルだから xcopy なんか忘れちゃってもいいと思う。
そうだったのか、情報ありがとう
調べたらxcopyを使ったバッチファイルがあった、なおそ
>ネットワーク越しやバッチ処理でのコピーに xcopy は御法度レベルだから xcopy なんか忘れちゃってもいいと思う。
そうだったのか、情報ありがとう
調べたらxcopyを使ったバッチファイルがあった、なおそ
2018/12/08(土) 20:14:50.36ID:Zhb2FJyz
xcopyはほぼフォルダ丸ごとコピー用途に使ってたから
/mirオプションで済むrobocopyの方が覚えやすくて助かるw
コピー自体も高速らしいし
/mirオプションで済むrobocopyの方が覚えやすくて助かるw
コピー自体も高速らしいし
4037
2018/12/08(土) 22:52:01.33ID:i9Z2WdJR >>38
xcopy はコピー中にネットワークが切れたりするとファイルがシレっと壊れるのだよ。
ノートPCがバッテリーアウトでハイバネーションに入るような時に起こりやすい。
対話式に目で動作を見ながらの分にはいいけど、それ以外の用途にはお勧めしないのだ。
xcopy はコピー中にネットワークが切れたりするとファイルがシレっと壊れるのだよ。
ノートPCがバッテリーアウトでハイバネーションに入るような時に起こりやすい。
対話式に目で動作を見ながらの分にはいいけど、それ以外の用途にはお勧めしないのだ。
2018/12/08(土) 23:16:46.42ID:hZepSGXS
単純コピーだったらxcopyの方がはるかに早かった気がするんだが
2018/12/08(土) 23:33:03.66ID:fChhgbp6
ネット越しだと、SSHが使えるrsyncがいいんだけど、
Windowsで使うにはcygwinが必要になるのでやや使いづらいかも
そこで、クラウドでも使えるrsyncという触れ込みのrcloneがいいかな
タイムスタンプだけが変更された時でも、実体をコピーすること無く、タイムスタンプだけを変更するなど、
それなりに賢い処理がされるようだ
もちろんローカルファイル同士でも使える
バッチによる基本的なバックアップ用途の使い方しかしていないけど、とにかく多機能でおすすめ
GoogleドライブやOneDriveなんかのクラウドへのバックアップも、バッチ処理で簡単にできる
Windowsで使うにはcygwinが必要になるのでやや使いづらいかも
そこで、クラウドでも使えるrsyncという触れ込みのrcloneがいいかな
タイムスタンプだけが変更された時でも、実体をコピーすること無く、タイムスタンプだけを変更するなど、
それなりに賢い処理がされるようだ
もちろんローカルファイル同士でも使える
バッチによる基本的なバックアップ用途の使い方しかしていないけど、とにかく多機能でおすすめ
GoogleドライブやOneDriveなんかのクラウドへのバックアップも、バッチ処理で簡単にできる
4339
2018/12/09(日) 10:35:27.52ID:lZKvlyRa2018/12/12(水) 12:03:09.26ID:wwhUpKQ/
Windows 10 19H1 で notepad が
BOM無しUTF-8がデフォルト になるそうだな...
いっそのこと コマンド プロンプトも変えてくれ
BOM無しUTF-8がデフォルト になるそうだな...
いっそのこと コマンド プロンプトも変えてくれ
45デフォルトの名無しさん
2018/12/13(木) 07:50:54.80ID:3pDLloxA バッチファイルの第一引数をファイル名にしたとして
ファイル名に&とか^が入るときどうやって処理すればいいの?
代入するとエスケープされて消えちゃうのよ。
ファイル名に&とか^が入るときどうやって処理すればいいの?
代入するとエスケープされて消えちゃうのよ。
2018/12/13(木) 09:07:24.92ID:J8CqZcRY
結局、BOM の有無を気にする開発者がいなかった。
欧米人には関係ないから
ただ、Explorer では、BOMが無いと、UTF-8・sjis の区別がつかないから、文字列で検索できなくなるから、
漏れは、Windows10・WSL・Ubuntu16.04 で、grep を使っている
欧米人には関係ないから
ただ、Explorer では、BOMが無いと、UTF-8・sjis の区別がつかないから、文字列で検索できなくなるから、
漏れは、Windows10・WSL・Ubuntu16.04 で、grep を使っている
2018/12/13(木) 09:48:12.16ID:vKHUraGB
>>45
入らないようにする
入らないようにする
2018/12/13(木) 16:46:34.51ID:H7Y/MSWd
>>45 バッチファイルに直接D&Dで起動用のバッチ
というか他の起動方法なら引数を引用符で囲むだけだし
@ECHO OFF
IF "%~1"=="1" SHIFT /1 & GOTO MAIN
SET "A=%CMDCMDLINE:"=*%"
SET "A=%A:~0,-1%"
FOR /F "tokens=2* delims=*" %%I IN ("%A%") DO SET "B=%%I" & SET "C=%%J"
SET E="%B%" 1
:NEXT_ARG
SET "A=" & FOR /F "tokens=*" %%I IN ("%C%") DO SET "A=%%I"
IF NOT DEFINED A %E%
IF "%A:~0,1%"=="*" (SET "D=*") ELSE SET "D= "
FOR /F "tokens=1* delims=%D%" %%I IN ("%A%") DO SET "B=%%I" & SET "C=%%J"
SET E=%E% "%B%" & GOTO NEXT_ARG
:MAIN
SET /A N=0
:LOOP
IF "%~0"=="" PAUSE & GOTO :EOF
ECHO ARG%N%=%0
SET /A "N+=1" & SHIFT & GOTO LOOP
というか他の起動方法なら引数を引用符で囲むだけだし
@ECHO OFF
IF "%~1"=="1" SHIFT /1 & GOTO MAIN
SET "A=%CMDCMDLINE:"=*%"
SET "A=%A:~0,-1%"
FOR /F "tokens=2* delims=*" %%I IN ("%A%") DO SET "B=%%I" & SET "C=%%J"
SET E="%B%" 1
:NEXT_ARG
SET "A=" & FOR /F "tokens=*" %%I IN ("%C%") DO SET "A=%%I"
IF NOT DEFINED A %E%
IF "%A:~0,1%"=="*" (SET "D=*") ELSE SET "D= "
FOR /F "tokens=1* delims=%D%" %%I IN ("%A%") DO SET "B=%%I" & SET "C=%%J"
SET E=%E% "%B%" & GOTO NEXT_ARG
:MAIN
SET /A N=0
:LOOP
IF "%~0"=="" PAUSE & GOTO :EOF
ECHO ARG%N%=%0
SET /A "N+=1" & SHIFT & GOTO LOOP
49デフォルトの名無しさん
2018/12/14(金) 07:43:35.08ID:0Ppktz+s ありがとうございます。
2018/12/15(土) 01:06:37.50ID:1s8Yv8lB
dir ってオプション(スイッチ)の順番で表示が異なるのを発見
CD /D C:\
dir /AH /A-D
dir /A-D /AH
CD /D C:\
dir /AH /A-D
dir /A-D /AH
2018/12/15(土) 04:41:20.49ID:s5MEHoIJ
話変わるがスペース無くてもOK
CD/D"C:\
DIR/AH/A-D
DIR/A-D/AH
CD/D"C:\
DIR/AH/A-D
DIR/A-D/AH
2018/12/15(土) 08:56:57.96ID:q+o88Lhc
その仕様のせいでパス区切り文字を/にすることができないという呪いが
53デフォルトの名無しさん
2018/12/16(日) 12:34:58.23ID:2Wn8M764 仕様がカオスになってるよね。
はやくLinuxcommandも標準対応して欲しい
はやくLinuxcommandも標準対応して欲しい
2018/12/17(月) 00:07:47.83ID:C+acxNdu
2018/12/17(月) 00:08:37.24ID:msnfpX97
>>51
そうだったのか、サンクス
そうだったのか、サンクス
2018/12/17(月) 07:58:43.76ID:xQB1O269
>>53
永久にならないから忘れろ
永久にならないから忘れろ
57デフォルトの名無しさん
2018/12/17(月) 19:54:34.22ID:zeK+PGUB >>43だけどやっぱわからん!
sendtoにバッチファイル入れといてフォルダを指定します。
指定したフォルダの名前をechoで表示したいんだけど&^がフォルダ名に付けられているとフォルダ名表示が出来ない。
batファイル &というフォルダを右クリック送るをした時
@echo off
echo "%~f1" これは表示できる
set fname="%~f1"
echo "%fname%" &や^が消えてしまう
どうやったら代入ができるの?エスケープに置き換えも一文字分しかできないし。
sendtoにバッチファイル入れといてフォルダを指定します。
指定したフォルダの名前をechoで表示したいんだけど&^がフォルダ名に付けられているとフォルダ名表示が出来ない。
batファイル &というフォルダを右クリック送るをした時
@echo off
echo "%~f1" これは表示できる
set fname="%~f1"
echo "%fname%" &や^が消えてしまう
どうやったら代入ができるの?エスケープに置き換えも一文字分しかできないし。
2018/12/17(月) 20:25:30.59ID:CiJxr7Yn
set "fname=%~f1"
2018/12/17(月) 20:26:56.58ID:uU80GVRL
>>57
echo %fname%
echo %fname%
2018/12/17(月) 20:28:40.66ID:uU80GVRL
あ、ごめん
どっちでもいいよ
どっちでもいいよ
2019/01/07(月) 13:47:43.45ID:ZTiiH/I2
バッチファイル中の*.*で、そんなファイルはないとエラーが出た
もう一度実行するとこれまでどおり問題なしに実行
windows更新の影響かセキュリティソフトのせいかも知れないが、
ウィルスがコマンドをすり替えている可能性もあるから、バッチ中のコマンドはパスも含めて
たとえばnotepadでなくC:\Windows\notepad.exeの方が安全だなと思った
もう一度実行するとこれまでどおり問題なしに実行
windows更新の影響かセキュリティソフトのせいかも知れないが、
ウィルスがコマンドをすり替えている可能性もあるから、バッチ中のコマンドはパスも含めて
たとえばnotepadでなくC:\Windows\notepad.exeの方が安全だなと思った
2019/01/07(月) 15:56:36.05ID:ZNh/EsxI
話変わるが
今は *.* としても意味無いよ * だけでOK
今は *.* としても意味無いよ * だけでOK
2019/01/07(月) 16:12:14.33ID:06gMfJVc
2019/01/07(月) 17:05:59.89ID:ZNh/EsxI
色んなソフト入れると %PATH% が膨れ上がる
使わないパスが30個とか..
気味が悪いのでバッチの先頭に
PATH C:\WINDOWS\system32;C:\WINDOWS;
と書くようにしてる
使わないパスが30個とか..
気味が悪いのでバッチの先頭に
PATH C:\WINDOWS\system32;C:\WINDOWS;
と書くようにしてる
2019/01/07(月) 20:11:25.89ID:xW7Pde1m
既に存在しないフォルダが環境変数PATHに設定されてるとコマンド検索がそこで止まってしまう
こんなのを使って時々確認するといい。
powershell $env:path -split ';'^|%{$_ ,(test-path $_ -patht cont ^)}
こんなのを使って時々確認するといい。
powershell $env:path -split ';'^|%{$_ ,(test-path $_ -patht cont ^)}
66デフォルトの名無しさん
2019/01/11(金) 19:37:34.13ID:WNI2j4XF 遅延環境変数OFFでやると面倒だ
ONにするとパス名などの文字列の扱いが複雑化して読み取れないのが出る
ONにするとパス名などの文字列の扱いが複雑化して読み取れないのが出る
2019/01/12(土) 00:39:03.28ID:IAz54C40
PowerShell で、$env:path -split ';' と打つと、
C:\WINDOWS\system32
C:\WINDOWS
Intel を除いて、これらが先頭に来る
C:\WINDOWS\system32
C:\WINDOWS
Intel を除いて、これらが先頭に来る
2019/01/12(土) 07:44:55.84ID:uK0WXiBn
>>67
普通はね
普通はね
2019/01/14(月) 09:23:20.28ID:e5YcHVOA
@echo off & set "p=%path%"
:v
for /f "delims=; tokens=1*" %%i in ("%p%") do set "p=%%j" & echo "%%i"
if defined p goto :v
おらの環境
"C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
"C:\ProgramData\Oracle\Java\javapath"
"C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common"
"C:\Program Files (x86)\Intel\iCLS Client\"
"C:\Program Files\Intel\iCLS Client\"
"C:\WINDOWS\system32"
"C:\WINDOWS"
:v
for /f "delims=; tokens=1*" %%i in ("%p%") do set "p=%%j" & echo "%%i"
if defined p goto :v
おらの環境
"C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
"C:\ProgramData\Oracle\Java\javapath"
"C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common"
"C:\Program Files (x86)\Intel\iCLS Client\"
"C:\Program Files\Intel\iCLS Client\"
"C:\WINDOWS\system32"
"C:\WINDOWS"
2019/01/14(月) 09:53:16.85ID:e5YcHVOA
マイクロソフトがどこまでチェックしているか知らんが
コマンド追加したら干渉する可能性はあるな
コマンド追加したら干渉する可能性はあるな
2019/01/20(日) 00:11:28.57ID:xs+avKSw
C:\HOGE
├─aaa
│ ├─old
│ │ aaa1.bat
│ │
│ └─src
│ aaa1.bat
│
├─bbb
│ ├─old
│ │ bbb1.bat
│ │
│ └─src
│ bbb1.bat
│
└─ccc
├─old
│ ccc1.bat
│
└─src
ccc1.bat
↑のoldフォルダとその中身を一括で削除したいのですが、コマンドでは難しいでしょうか?
├─aaa
│ ├─old
│ │ aaa1.bat
│ │
│ └─src
│ aaa1.bat
│
├─bbb
│ ├─old
│ │ bbb1.bat
│ │
│ └─src
│ bbb1.bat
│
└─ccc
├─old
│ ccc1.bat
│
└─src
ccc1.bat
↑のoldフォルダとその中身を一括で削除したいのですが、コマンドでは難しいでしょうか?
2019/01/20(日) 00:13:41.92ID:xs+avKSw
↑HOGEの下には実際にはaaa〜cccのようなフォルダが無数にあります…
2019/01/20(日) 00:15:44.50ID:xs+avKSw
↑たびたびすみません。
正確に言うと「HOGE配下に存在する"old"という名前のフォルダとその中身を全て削除する」です。
正確に言うと「HOGE配下に存在する"old"という名前のフォルダとその中身を全て削除する」です。
2019/01/20(日) 02:15:14.20ID:pk2ilGy6
for /d /r
とif文つかえばいいだけじゃん
とif文つかえばいいだけじゃん
2019/01/20(日) 04:39:06.95ID:K0yQSeRR
del
2019/01/20(日) 07:09:39.32ID:YWDkxQqJ
FOR /R C:\HOGE %%I IN (.) DO rd/s/q "%%~I\old" 2> nul
2019/01/20(日) 07:32:36.37ID:YWDkxQqJ
バッチにするまでもない
直接入力なら%%を%に
直接入力なら%%を%に
2019/01/20(日) 09:22:02.93ID:pk2ilGy6
2019/01/20(日) 10:27:11.29ID:pk2ilGy6
おいらならこう書く
for /d /r c:\hoge %a in (old) rd /q /s %a
for /d /r c:\hoge %a in (old) rd /q /s %a
2019/01/20(日) 10:28:21.11ID:xs+avKSw
2019/01/20(日) 10:36:33.72ID:xs+avKSw
でもrdはディレクトリ削除コマンドなんだから最後に"\"を付けるのは不自然か…
2019/01/20(日) 10:54:52.71ID:YWDkxQqJ
2019/01/20(日) 11:08:28.37ID:pk2ilGy6
2019/01/20(日) 11:18:39.20ID:YWDkxQqJ
そうかな?
RD の前に echo 付けて見たら?
ファイルでも RD OLD がでるぞ
FOR のヘルプをよく見てね
RD の前に echo 付けて見たら?
ファイルでも RD OLD がでるぞ
FOR のヘルプをよく見てね
2019/01/21(月) 21:18:15.33ID:9WBiq3dN
ざっくり言うと、
EternalForceBlizzard.bat C:\hoge
とかいうバッチが欲しいという中二に対して「俺なら!」「俺なら!」とやってた流れ…かな。
>>82
どうでもいいけど全部大文字とかやめれ。
内容は知らんが死ぬほどダサい。
EternalForceBlizzard.bat C:\hoge
とかいうバッチが欲しいという中二に対して「俺なら!」「俺なら!」とやってた流れ…かな。
>>82
どうでもいいけど全部大文字とかやめれ。
内容は知らんが死ぬほどダサい。
2019/01/21(月) 21:58:45.27ID:rFmuVz+a
今後は小文字にするよ。気が変わるかもしれんが。
forの括弧内のファイルは存在しなくてもスキップしない
例外はワイルドカードで対象はファイル
/dだと対象はフォルダ
ただそれだけの話だ
forの括弧内のファイルは存在しなくてもスキップしない
例外はワイルドカードで対象はファイル
/dだと対象はフォルダ
ただそれだけの話だ
2019/01/22(火) 11:52:34.58ID:dXptnPwJ
findstrの結果に文字列を連結したいのですがうまくいきません
どうしたらよういでしょういか?
cd /d %~dp0
type test1.txt | echo"りんご" & findstr "りんご" >> out.txt
どうしたらよういでしょういか?
cd /d %~dp0
type test1.txt | echo"りんご" & findstr "りんご" >> out.txt
2019/01/22(火) 14:00:46.60ID:CTNOEPFx
call :a "りんご" test1.txt > out.txt & goto :eof
:a
echo %1 & findstr %1 %2
:a
echo %1 & findstr %1 %2
2019/01/22(火) 15:31:22.37ID:dXptnPwJ
>88
ありがとうございます。
[りんご]
[りんごを含んだ文]
[りんごを含んだ文]
[りんごを含んだ文]
といった感じにでました。
[りんご][りんごを含んだ文]
[りんご][りんごを含んだ文]
[りんご][りんごを含んだ文]
という感じはならないでしょうか?
ありがとうございます。
[りんご]
[りんごを含んだ文]
[りんごを含んだ文]
[りんごを含んだ文]
といった感じにでました。
[りんご][りんごを含んだ文]
[りんご][りんごを含んだ文]
[りんご][りんごを含んだ文]
という感じはならないでしょうか?
2019/01/22(火) 15:58:11.82ID:CTNOEPFx
call :a "りんご" test1.txt > out.txt & goto :eof
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
2019/01/22(火) 16:44:03.03ID:dXptnPwJ
>90
おお!、うまくいきました。ありがとうございます!。
エクセルの&のように簡単なのかと思ったら以外と複雑な処理で驚きです。
おお!、うまくいきました。ありがとうございます!。
エクセルの&のように簡単なのかと思ったら以外と複雑な処理で驚きです。
2019/01/22(火) 17:08:05.17ID:nMQEwTi4
単に行数を少なくするだけの&の使い方で
デバッグもメンテの面でもいい事はないんで行を分けて書いたほうがいい
デバッグもメンテの面でもいい事はないんで行を分けて書いたほうがいい
2019/01/22(火) 17:31:44.20ID:CTNOEPFx
そういうのは質問者の方で調整よろしくお願いします
2019/01/22(火) 18:02:51.94ID:nMQEwTi4
2019/01/22(火) 18:15:04.06ID:CTNOEPFx
言いたい事は分かります。
はっきり言って自分用のバッチはこんな書き方はしません。
行数を抑える為に繋いでるだけなんで。
バランス見て改行します。すみません。
はっきり言って自分用のバッチはこんな書き方はしません。
行数を抑える為に繋いでるだけなんで。
バランス見て改行します。すみません。
2019/01/22(火) 18:27:13.64ID:nMQEwTi4
って思ったら、質問者は&に感心してたわけじゃなくて
逆に&で簡単に書けない点が不満なんだな
逆に&で簡単に書けない点が不満なんだな
2019/01/22(火) 19:15:10.41ID:ak2Ch+AT
Basic言語では&は文字列結合演算子だが
バッチスクリプトは出自からBasicじゃないので&は別の意味(ステートメントメント区切り)となる
文字列結合演算子自体が存在しない
バッチスクリプトは出自からBasicじゃないので&は別の意味(ステートメントメント区切り)となる
文字列結合演算子自体が存在しない
2019/01/23(水) 13:46:03.43ID:HgbeZ9kI
昨日の質問者です、たびたびすみません
複数ワードを処理しようとして
call :a "りんご" test1.txt > out.txt
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
call :a "みかん" test1.txt > out.txt
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
としたところ、うまくいったのですが
これが5項目くらいになると
dos窓に「別のプロセスが使用中です」と表示されてしまいます。
なにかメモリ的なものがいっぱいになるのでしょうか?
回避方法はありますでしょうか?
複数ワードを処理しようとして
call :a "りんご" test1.txt > out.txt
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
call :a "みかん" test1.txt > out.txt
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
としたところ、うまくいったのですが
これが5項目くらいになると
dos窓に「別のプロセスが使用中です」と表示されてしまいます。
なにかメモリ的なものがいっぱいになるのでしょうか?
回避方法はありますでしょうか?
2019/01/23(水) 15:17:41.73ID:HwNiCy+r
意味不明だが?
@echo off
call :a "りんご" test1.txt > out.txt
call :a "みかん" test1.txt >> out.txt
goto :eof
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
@echo off
call :a "りんご" test1.txt > out.txt
call :a "みかん" test1.txt >> out.txt
goto :eof
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
100デフォルトの名無しさん
2019/01/23(水) 15:33:11.44ID:HwNiCy+r 今時、メモリ不足とか滅多に無いよ。
バッチで80byte文字列の一万個の配列変数とかやったことあるけど
問題なかったよ。
バッチで80byte文字列の一万個の配列変数とかやったことあるけど
問題なかったよ。
101デフォルトの名無しさん
2019/01/23(水) 16:10:02.06ID:HgbeZ9kI >99さんの書式にするとうまくいきました
おそらく私が
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
をいっぱい書いてしまったからかもしれません。
おそらく私が
:a
for /f delims^=^ eol^= %%i in ('findstr %1 %2') do echo.%1 %%i
をいっぱい書いてしまったからかもしれません。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」★2 [冬月記者★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 『しんちゃんと岸田さん』 [175344491]
- 日本株、大暴落!!! [252835186]
- 港区女子「50kg越えちゃった、港区だとデブ界隈だよ(>.<)」🤳パシャッ👉10万いいね [329329848]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- んなっても良いお🏡
