拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
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://pc12.2ch.net/test/read.cgi/tech/1197881068/
%1 http://pc11.2ch.net/test/read.cgi/tech/1178281991/
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/03/11(土) 13:47:11.66ID:2LSSeyH1
2017/06/15(木) 15:46:23.72ID:y+UEOWCj
cd d:\TozakaruzoSaikonkara の方がいいか
100デフォルトの名無しさん
2017/06/15(木) 15:50:20.24ID:y+UEOWCj もしフォルダが無いなら
md d:\TozakaruzoSaikonkara 追加してくれ
md d:\TozakaruzoSaikonkara 追加してくれ
101デフォルトの名無しさん
2017/06/15(木) 16:07:02.35ID:y+UEOWCj *.mp4 だった
穴だらけだな
俺もボケてきたか
穴だらけだな
俺もボケてきたか
102デフォルトの名無しさん
2017/06/15(木) 17:02:52.10ID:+JrLzVDI103デフォルトの名無しさん
2017/06/15(木) 17:08:46.74ID:+JrLzVDI いや、フルパスかな
初めてだったので、楽しみます
ありがとう
初めてだったので、楽しみます
ありがとう
104デフォルトの名無しさん
2017/06/16(金) 01:17:16.66ID:fojoWyA2 >>103
俺がもっといいやり方がないか調査するからとりあえずmoroフォルダをうp!
俺がもっといいやり方がないか調査するからとりあえずmoroフォルダをうp!
105デフォルトの名無しさん
2017/06/17(土) 18:10:57.34ID:hP08xqzx >>98
ドライブとディレクトリの違いであるのか、コピーと移動の違いであるのか、
教えていただけたらうれしいです。
>>96
で、同じドライブの別フォルダに移動したいとき、下記教えていただいたコマンドを変えて実行すると、
別ドライブのときのようにコピーがされない状況です。
cd /d c:\down
cd c:\TozakaruzoSaikonkara
for /r %%i in (*.avi *mp4) do move /y "%%~fi" c:
---------
下記の用に移動したい
C:/
├down/
│ └ ero/
│ └ 111.mp4
│ └ moro/
│ └ xx2.avi
│ └ zzz.mp4
│ └xxx.avi
C:/
├TozakaruzoSaikonkara/
│ └ 111.mp4
│ └ xx2.avi
│ └ zzz.mp4
│ └ xxx.avi
ドライブとディレクトリの違いであるのか、コピーと移動の違いであるのか、
教えていただけたらうれしいです。
>>96
で、同じドライブの別フォルダに移動したいとき、下記教えていただいたコマンドを変えて実行すると、
別ドライブのときのようにコピーがされない状況です。
cd /d c:\down
cd c:\TozakaruzoSaikonkara
for /r %%i in (*.avi *mp4) do move /y "%%~fi" c:
---------
下記の用に移動したい
C:/
├down/
│ └ ero/
│ └ 111.mp4
│ └ moro/
│ └ xx2.avi
│ └ zzz.mp4
│ └xxx.avi
C:/
├TozakaruzoSaikonkara/
│ └ 111.mp4
│ └ xx2.avi
│ └ zzz.mp4
│ └ xxx.avi
106デフォルトの名無しさん
2017/06/17(土) 21:48:00.86ID:4uF4heHb for /r c:\down %%i in (*.avi *.mp4) do move /y "%%~i" c:\TozakaruzoSaikonkara
107デフォルトの名無しさん
2017/06/17(土) 22:08:13.20ID:hP08xqzx108デフォルトの名無しさん
2017/06/17(土) 22:53:57.13ID:4uF4heHb 参考に言っておくが () の中の引数なんだが、ワイルドカード以外は要注意だ
例えば (*.avi *.mp4 sukebe.jpg) とかにすると
各ディレクトリに sukebe.jpg が無くても強引にコマンド実行してエラーになったりする
例えば (*.avi *.mp4 sukebe.jpg) とかにすると
各ディレクトリに sukebe.jpg が無くても強引にコマンド実行してエラーになったりする
109デフォルトの名無しさん
2017/06/19(月) 21:06:26.56ID:HM1jnBNt moroとかsukebeとか名付けがオッサン臭いんだがw
110デフォルトの名無しさん
2017/06/26(月) 00:08:20.51ID:a4kJ2YgH DIRコマンドでは*を使って検索みたいなことが出来ますね。
【コマンド】
C:\>dir /s /b C:\Windows\System32\host*
【実行結果】
C:\Windows\System32\hostname.exe
C:\Windows\System32\dllcache\hostname.exe
C:\Windows\System32\drivers\etc\hosts
他にもっと複雑な検索も出来るのでしょうか?
【コマンド】
C:\>dir /s /b C:\Windows\System32\host*
【実行結果】
C:\Windows\System32\hostname.exe
C:\Windows\System32\dllcache\hostname.exe
C:\Windows\System32\drivers\etc\hosts
他にもっと複雑な検索も出来るのでしょうか?
111デフォルトの名無しさん
2017/06/26(月) 00:10:31.02ID:a4kJ2YgH あと「DIR /?」で出てくるヘルプにはこの機能について触れられていないのはなぜなのでしょう?こんなに便利なのに。
112デフォルトの名無しさん
2017/06/26(月) 00:24:40.04ID:1HPve1dM ワイルドカードはDIR固有じゃないけど
113デフォルトの名無しさん
2017/06/26(月) 00:27:25.02ID:q7GF7ZpN >>111
windowsXPで恐縮なんだが、Windowsヘルプ(ヘルプとサポートセンター)では、
Dirの項目の説明の中で、ワイルドカード関係のものとして以下のものが書いてあったよ
解説
・複数の filenames を使用する
複数の filenames を使用できます。スペース、カンマ、またはセミコロンでファイル名を区切ります。
FileName でワイルドカード文字 (? と *) を使うと、ファイルのグループを表示することができます。
・ワイルドカードを使用する
ワイルドカード (? と *) を使うと、ファイルとサブディレクトリのサブセットの一覧を表示できます。
例
ドライブ C のすべてのディレクトリで、拡張子が .txt のすべてのファイルの一覧を表示するには、次のように入力します。
dir c:\*.txt /w/o/s/p
各ディレクトリにある拡張子が .txt のファイル名が、アルファベット順にソートされた一覧がワイド形式で表示されます。
画面単位で一時停止し、キーが押されると次の画面が表示されます。
windowsXPで恐縮なんだが、Windowsヘルプ(ヘルプとサポートセンター)では、
Dirの項目の説明の中で、ワイルドカード関係のものとして以下のものが書いてあったよ
解説
・複数の filenames を使用する
複数の filenames を使用できます。スペース、カンマ、またはセミコロンでファイル名を区切ります。
FileName でワイルドカード文字 (? と *) を使うと、ファイルのグループを表示することができます。
・ワイルドカードを使用する
ワイルドカード (? と *) を使うと、ファイルとサブディレクトリのサブセットの一覧を表示できます。
例
ドライブ C のすべてのディレクトリで、拡張子が .txt のすべてのファイルの一覧を表示するには、次のように入力します。
dir c:\*.txt /w/o/s/p
各ディレクトリにある拡張子が .txt のファイル名が、アルファベット順にソートされた一覧がワイド形式で表示されます。
画面単位で一時停止し、キーが押されると次の画面が表示されます。
114デフォルトの名無しさん
2017/06/26(月) 01:37:25.73ID:q7GF7ZpN >>111
つまりコマンドの内蔵ヘルプは簡略版ってことなんだ
それと、なんかちょっと検索してみたら
Windows10には「ヘルプとサポート」がないらしい
なのでオンラインでのコマンドラインリファレンス
https://technet.microsoft.com/ja-jp/library/cc755121%28v=ws.10%29.aspx
XPの「ヘルプとサポート」には
「コマンドラインリファレンス」の他にも、
「新しいコマンドラインツール」
「コマンドシェルの概要」(ここにパイプやリダイレクトの説明が載っている)
ってのがあったんだけどなあ
つまりコマンドの内蔵ヘルプは簡略版ってことなんだ
それと、なんかちょっと検索してみたら
Windows10には「ヘルプとサポート」がないらしい
なのでオンラインでのコマンドラインリファレンス
https://technet.microsoft.com/ja-jp/library/cc755121%28v=ws.10%29.aspx
XPの「ヘルプとサポート」には
「コマンドラインリファレンス」の他にも、
「新しいコマンドラインツール」
「コマンドシェルの概要」(ここにパイプやリダイレクトの説明が載っている)
ってのがあったんだけどなあ
115デフォルトの名無しさん
2017/07/01(土) 02:44:43.86ID:mwCfh4Ih 質問があります。
ちょっと事情があってすべての引数をダブルクオーテーションで囲って実行しなければならなくなりました。
例えばこんな感じで
"C:\Software\ffmpeg\ffmpeg.exe" "-i" "%~1" "-vcodec" "utvideo" "-acodec" "pcm_s16le" "%~dpn1_test.avi"
ffmpegでは正常に動くことを確認したのですが他の一般的なソフトウェアもこのような起動方法で動作すると考えてもいいのでしょうか?
ちょっと事情があってすべての引数をダブルクオーテーションで囲って実行しなければならなくなりました。
例えばこんな感じで
"C:\Software\ffmpeg\ffmpeg.exe" "-i" "%~1" "-vcodec" "utvideo" "-acodec" "pcm_s16le" "%~dpn1_test.avi"
ffmpegでは正常に動くことを確認したのですが他の一般的なソフトウェアもこのような起動方法で動作すると考えてもいいのでしょうか?
116デフォルトの名無しさん
2017/07/01(土) 03:37:58.17ID:QCoLM9eW 引数の仕様はそれぞれだが問題無い
117デフォルトの名無しさん
2017/07/05(水) 22:31:01.85ID:9GxT9B4i とあるファイルの中身の文字列を置換したいのですが、何かいい方法はありますでしょうか?
とあるファイルはtxtファイルではないですが、テキストエディタで開くと文字列が書いてあります。
とあるファイルはtxtファイルではないですが、テキストエディタで開くと文字列が書いてあります。
118デフォルトの名無しさん
2017/07/05(水) 22:46:04.03ID:R8zuGv9z 全部テキストならともかくそれ以外のバイナリファイル内の置換はcmdじゃ無理だろ
WSHとかPower Shellとかで探せ
WSHとかPower Shellとかで探せ
119デフォルトの名無しさん
2017/07/06(木) 00:29:11.58ID:l/JVwvz3 テキストファイルだけど、拡張子がtxtではないファイルのことです
120デフォルトの名無しさん
2017/07/06(木) 01:41:06.31ID:vizsBHcK findstr である程度のことはできるけど、置換の条件とかが複雑になってくるとしんどい。
外部コマンドが使用可能なら、onigsedとか、SEDを使った方が多少は楽。
外部コマンドが使用可能なら、onigsedとか、SEDを使った方が多少は楽。
121デフォルトの名無しさん
2017/07/06(木) 02:34:32.14ID:VUvDmuBp122デフォルトの名無しさん
2017/07/07(金) 17:03:51.39ID:peDYPYbs >>119
ren Nullpo.unko Nullpo.txt
ren Nullpo.unko Nullpo.txt
123デフォルトの名無しさん
2017/07/09(日) 19:10:43.21ID:Gxva3cTk バッチファイルからシリアルポートを簡単に読み書き出来る手段って無いですかね?
古くはCOM?を使う方法が有名ですがBluetoothなどで作られた仮想シリアルポート?には使えないようです
古くはCOM?を使う方法が有名ですがBluetoothなどで作られた仮想シリアルポート?には使えないようです
124デフォルトの名無しさん
2017/07/13(木) 00:28:41.39ID:m+WJUz/m シリアルポートってなんだ?RS-232Cとかか?
125デフォルトの名無しさん
2017/07/13(木) 00:45:21.62ID:CfPNRtgi >>123
232C→USB変換ケーブルみたいなのあったような
232C→USB変換ケーブルみたいなのあったような
126デフォルトの名無しさん
2017/07/16(日) 11:23:45.75ID:FHjtOHLZ そもそもバッチファイルって何?
CでもBasicでもなく、メモ帳の拡張子をbatに変えるだけで良くて、
コマンドブロンプトとかいう、MS-DOSと何が違うのかわからないような画面で動いて、
何なの?
CでもBasicでもなく、メモ帳の拡張子をbatに変えるだけで良くて、
コマンドブロンプトとかいう、MS-DOSと何が違うのかわからないような画面で動いて、
何なの?
127デフォルトの名無しさん
2017/07/16(日) 15:58:56.60ID:30vHB81v CだってBASICだってメモ帳の拡張子を適当に変えれば行けますよ
128デフォルトの名無しさん
2017/07/18(火) 02:02:06.89ID:Bi+xDIbE 「拡張子とは何か」から始めとけ
129デフォルトの名無しさん
2017/07/18(火) 09:43:40.29ID:YNdL6SIO130デフォルトの名無しさん
2017/07/18(火) 12:15:15.33ID:+17jTjCv >>129
なんでメモ帳って書いてあるのにnotepad.exeをいじるわけ?
なんでメモ帳って書いてあるのにnotepad.exeをいじるわけ?
131デフォルトの名無しさん
2017/07/18(火) 12:23:23.94ID:lxnTGpj5 そらメモ帳の実体はnotepad.exeやし
132デフォルトの名無しさん
2017/07/18(火) 19:54:35.52ID:qQbuN+bc >>130
お前の言う「メモ帳」とはnotepad.exeでない何か他のものなのか?
お前の言う「メモ帳」とはnotepad.exeでない何か他のものなのか?
133デフォルトの名無しさん
2017/07/18(火) 20:32:10.68ID:wtRY8Rgw もう夏休みか
134デフォルトの名無しさん
2017/07/18(火) 23:42:51.89ID:Wjn/rMX6 揚げ足の取り方が寒い。
135デフォルトの名無しさん
2017/07/19(水) 00:03:00.46ID:oeGL8Gu+ >>126についていうなら、その辺のいい加減さが理解を妨げてると言える
136デフォルトの名無しさん
2017/07/19(水) 00:19:58.81ID:wIP5zHZ/137デフォルトの名無しさん
2017/07/19(水) 00:23:24.87ID:I6a60LYe しかし誰もきちんと説明できないという
138デフォルトの名無しさん
2017/07/19(水) 02:27:06.77ID:Gwnbk1WK どこから説明始めたらいいのかわからん程だし
139デフォルトの名無しさん
2017/07/19(水) 21:02:00.27ID:WMMf4PqS 説明はできないが揚げ足は取れる、ということですね。
140デフォルトの名無しさん
2017/07/19(水) 22:27:12.79ID:caLBuZR5 コピー系コマンドのコピー速度って
遅 copy < xcopy < robocopy 早
で良いですよね?
これはVista、7、10のどのOSでも同じでしょうか?
遅 copy < xcopy < robocopy 早
で良いですよね?
これはVista、7、10のどのOSでも同じでしょうか?
141デフォルトの名無しさん
2017/07/19(水) 23:32:30.26ID:I6a60LYe copyの方が早くね?4文字だし。
142140
2017/07/20(木) 03:04:39.26ID:R4lBeVK+143デフォルトの名無しさん
2017/07/22(土) 00:59:36.62ID:J1O+P69V +.bat や ,.bat もOKだった
144デフォルトの名無しさん
2017/07/22(土) 21:18:13.40ID:yBUCBb6t プラスバッドって、何か格好いいな。
カンマバットはダセェけど。
カンマバットはダセェけど。
145デフォルトの名無しさん
2017/07/23(日) 16:18:49.88ID:sxzHAQSA では、
£.bat
γ.bat
ラプラスバットと、ガンマバットでは、どうだろう?
£.bat
γ.bat
ラプラスバットと、ガンマバットでは、どうだろう?
146デフォルトの名無しさん
2017/07/29(土) 01:24:32.19ID:ocuZvBLs @.bat や =.bat
ファイルを作ることはできるが、実行しようとしてもコマンドプロンプトに無視されて実行できなかった
ファイルを作ることはできるが、実行しようとしてもコマンドプロンプトに無視されて実行できなかった
147デフォルトの名無しさん
2017/07/29(土) 02:07:03.67ID:0L2d7SO5 @.bat はフルパスで C:\work\@bat ってするか、キャレットでエスケープして ^@.bat で実行できる
=.bat はフルパスでもダメだけど、キャレットでエスケープすればいける
=.bat はフルパスでもダメだけど、キャレットでエスケープすればいける
148デフォルトの名無しさん
2017/08/01(火) 00:45:45.45ID:7i1X54Qd149デフォルトの名無しさん
2017/08/10(木) 19:56:28.38ID:gQNT5BPl (^_^)
150デフォルトの名無しさん
2017/08/10(木) 21:54:16.62ID:BFQhJ/Te "@ とか "= とか
151デフォルトの名無しさん
2017/08/14(月) 22:38:23.70ID:3xlVGOet すみません助けてください
遅延関数を宣言してるところから、下記の親ディレクトリの名前だけ引くサブルーチンに
ファイルフルパス投げて、戻そうとしているのですが
for文のところでDEST_DIRに値が入らなくて困っています
windows7環境で遅延関数について調べているのですが
なんで値が入らないのかわからず。 %%Pをechoすると中身が表示されるのですが
それをSETするときに何をやっても入りません。。。助けてください
:GET_PARENTDIR
setlocal enabledelayedexpansion
SET PathLF=%1
SET PathLF=%PathLF:~0,-1%
SET PathLF=!PathLF:\=^
!
for /F %%P in ("!PathLF!") do SET DEST_DIR = %%P
endlocal && set DEST_DIR = %DEST_DIR%
echo %DEST_DIR%
exit /b
遅延関数を宣言してるところから、下記の親ディレクトリの名前だけ引くサブルーチンに
ファイルフルパス投げて、戻そうとしているのですが
for文のところでDEST_DIRに値が入らなくて困っています
windows7環境で遅延関数について調べているのですが
なんで値が入らないのかわからず。 %%Pをechoすると中身が表示されるのですが
それをSETするときに何をやっても入りません。。。助けてください
:GET_PARENTDIR
setlocal enabledelayedexpansion
SET PathLF=%1
SET PathLF=%PathLF:~0,-1%
SET PathLF=!PathLF:\=^
!
for /F %%P in ("!PathLF!") do SET DEST_DIR = %%P
endlocal && set DEST_DIR = %DEST_DIR%
echo %DEST_DIR%
exit /b
152デフォルトの名無しさん
2017/08/14(月) 22:39:38.44ID:3xlVGOet ああああ遅延変数でした
もうやだああぁ
もうやだああぁ
153デフォルトの名無しさん
2017/08/14(月) 23:55:08.58ID:pZiLFUe+154デフォルトの名無しさん
2017/08/15(火) 02:10:26.85ID:F71LHla5 >>151
まずは
SET DEST_DIR = %%P
endlocal && set DEST_DIR = %DEST_DIR%
の空白がいけないのでは?
SET DEST_DIR=%%P
endlocal && set DEST_DIR=%DEST_DIR%
まずは
SET DEST_DIR = %%P
endlocal && set DEST_DIR = %DEST_DIR%
の空白がいけないのでは?
SET DEST_DIR=%%P
endlocal && set DEST_DIR=%DEST_DIR%
155デフォルトの名無しさん
2017/08/15(火) 08:22:11.69ID:ltV5IdSe >>154
後輩にその空白を入れられたことがある
「可読性を良くしようと思って…」って言ってたな
普通の高級言語やってる奴は=の前後に空白入れただけで不具合起こるなんて考えもしないわな
コマンドプロンプトはホント昔の仕様を引きずり過ぎだわ
後輩にその空白を入れられたことがある
「可読性を良くしようと思って…」って言ってたな
普通の高級言語やってる奴は=の前後に空白入れただけで不具合起こるなんて考えもしないわな
コマンドプロンプトはホント昔の仕様を引きずり過ぎだわ
156デフォルトの名無しさん
2017/08/15(火) 08:51:21.42ID:J2u+qflL setlocal enabledelayedexpansion使うとファイル名に!が入ってるとめんどくさいから極力使わないようにしてるんだけど俺だけ?みんなはどうしてる?
157デフォルトの名無しさん
2017/08/15(火) 08:55:13.27ID:GzAS59pw158デフォルトの名無しさん
2017/08/15(火) 10:13:39.94ID:x5EZUuTK 名前ソートで上に持ってきたいフォルダには名前の頭に!をつけてる
159デフォルトの名無しさん
2017/08/17(木) 23:34:26.73ID:jGLnJoZN スペースが入ったファイル名からスペースを取り除くには一行では無理ですか?
160デフォルトの名無しさん
2017/08/18(金) 00:59:25.98ID:Oq4EZT3J こんな感じ?
set "File=%~1" & ren "%File%" "remove=%File: =%"
set "File=%~1" & ren "%File%" "remove=%File: =%"
161デフォルトの名無しさん
2017/08/18(金) 01:00:23.41ID:Oq4EZT3J 間違えた
set "File=%~1" & ren "%File%" "%File: =%"
set "File=%~1" & ren "%File%" "%File: =%"
162デフォルトの名無しさん
2017/08/20(日) 03:39:45.42ID:w/lVOYHU バッチでよく使う pslist.exe はプロセス名が日本語だと間違える
pslist v1.4 sysonternals
pslist v1.4 sysonternals
163デフォルトの名無しさん
2017/08/20(日) 16:32:29.32ID:7nn0chG1 フォルダD:\XXXX直下の、
AAAA、BBBB、CCCCの3つの隠しファイル(拡張子なし)を、
定期的にE:\backupフォルダにバックアップするためのバッチファイルを作りたい
フォルダXXXX以下には、YYYY、ZZZZというフォルダがあり、
この下にもAAAA、BBBB、CCCCと同名のファイルが存在するが、
それはバックアップしなくていい
copyコマンドでは隠しファイルはコピーできない
xcopyコマンドではサブディレクトリ以下の同名ファイルもコピーされてしまう
バッチファイルで処理するためにはどうすればいいのでしょうか?
できればアトリビュートはいじりたくないです
よろしくお願いいたします
AAAA、BBBB、CCCCの3つの隠しファイル(拡張子なし)を、
定期的にE:\backupフォルダにバックアップするためのバッチファイルを作りたい
フォルダXXXX以下には、YYYY、ZZZZというフォルダがあり、
この下にもAAAA、BBBB、CCCCと同名のファイルが存在するが、
それはバックアップしなくていい
copyコマンドでは隠しファイルはコピーできない
xcopyコマンドではサブディレクトリ以下の同名ファイルもコピーされてしまう
バッチファイルで処理するためにはどうすればいいのでしょうか?
できればアトリビュートはいじりたくないです
よろしくお願いいたします
164デフォルトの名無しさん
2017/08/20(日) 16:35:22.92ID:T95gEh5X >>161
誰もツッコミ無しなの?
誰もツッコミ無しなの?
165デフォルトの名無しさん
2017/08/20(日) 16:53:03.09ID:vBwVL8I3 >>163
xcopyでAAAAなどのファイルを一つずつ指定してコピーするというのは?
xcopyでAAAAなどのファイルを一つずつ指定してコピーするというのは?
166デフォルトの名無しさん
2017/08/20(日) 17:25:05.34ID:7nn0chG1 >>165
実験してみたんですが、
xcopy D:\XXXX\AAAA E:\backup\
とすると、backupフォルダには、
AAAA
\YYYY\AAAA
\ZZZZ\AAAA
の3ファイルがコピーされちゃうんですよ
\YYYYと\ZZZZのはいらないのでどうしたもんかなと質問させていただきました
実験してみたんですが、
xcopy D:\XXXX\AAAA E:\backup\
とすると、backupフォルダには、
AAAA
\YYYY\AAAA
\ZZZZ\AAAA
の3ファイルがコピーされちゃうんですよ
\YYYYと\ZZZZのはいらないのでどうしたもんかなと質問させていただきました
167デフォルトの名無しさん
2017/08/20(日) 17:36:31.70ID:vBwVL8I3168デフォルトの名無しさん
2017/08/20(日) 17:43:47.57ID:7nn0chG1169デフォルトの名無しさん
2017/08/20(日) 19:15:30.58ID:T95gEh5X170デフォルトの名無しさん
2017/08/22(火) 19:19:28.49ID:rIu52qT/ 以前こちらで聞いて試行錯誤しているのですが、何分初心者で四苦八苦しております。
そこでご教授願いたいのですが、
@rem 引数有無と引数名チェック
if "%USR_INPUT_STR1%"=="" goto ERROR
echo;%USR_INPUT_STR1%|findstr /R /C:"^http" /C:"openrec" >NUL||(echo "%1" を処理できません) && goto ERROR
@rem URLのアドレスとHTMLを環境変数へ設定
set ADDR=%USR_INPUT_STR1%
for %%I in (%USR_INPUT_STR1%) do set HTML=%%~nxI
@rem HTMLダウンロード
curl -L --max-redirs 10 -R -O %ADDR%
if not %ERRORLEVEL%==0 goto ERROR
@rem HTMLから文字列抽出
for /F "tokens=2 delims=<>| " %%I in ('type %HTML%^|findstr /R /C:"<title>"') do set TITLE=%%~I
for /F "tokens=3 delims=, " %%I in ('type %HTML%^|find /I "m3u8"') do set TARGET=%%~I
ffmpeg -c copy "%TITLE%" -i "%TARGET%"
pause
exit
:ERROR
echo 引数が無効のため処理できませんでした
pause
exit
このままだと、ファイル名がUTF-8で文字化けしてしまいます。
これを、面倒なのでファイル名で出力したいと思ったのですが、正規表現が弱く全く前に進みません。
丸投げで申し訳ございませんが、どうか手直ししていただけませんでしょうか。
よろしくお願い致します。
そこでご教授願いたいのですが、
@rem 引数有無と引数名チェック
if "%USR_INPUT_STR1%"=="" goto ERROR
echo;%USR_INPUT_STR1%|findstr /R /C:"^http" /C:"openrec" >NUL||(echo "%1" を処理できません) && goto ERROR
@rem URLのアドレスとHTMLを環境変数へ設定
set ADDR=%USR_INPUT_STR1%
for %%I in (%USR_INPUT_STR1%) do set HTML=%%~nxI
@rem HTMLダウンロード
curl -L --max-redirs 10 -R -O %ADDR%
if not %ERRORLEVEL%==0 goto ERROR
@rem HTMLから文字列抽出
for /F "tokens=2 delims=<>| " %%I in ('type %HTML%^|findstr /R /C:"<title>"') do set TITLE=%%~I
for /F "tokens=3 delims=, " %%I in ('type %HTML%^|find /I "m3u8"') do set TARGET=%%~I
ffmpeg -c copy "%TITLE%" -i "%TARGET%"
pause
exit
:ERROR
echo 引数が無効のため処理できませんでした
pause
exit
このままだと、ファイル名がUTF-8で文字化けしてしまいます。
これを、面倒なのでファイル名で出力したいと思ったのですが、正規表現が弱く全く前に進みません。
丸投げで申し訳ございませんが、どうか手直ししていただけませんでしょうか。
よろしくお願い致します。
171デフォルトの名無しさん
2017/08/22(火) 20:10:25.50ID:uGuLhv+Q powershellに切り替えたら?
172デフォルトの名無しさん
2017/08/22(火) 20:50:12.77ID:1dHyDD35 >>170
よく分からないけどbat自体をUTF-8で書いてchcp 65001というのは?
よく分からないけどbat自体をUTF-8で書いてchcp 65001というのは?
173デフォルトの名無しさん
2017/08/22(火) 20:52:58.84ID:rIu52qT/ >>172
それも考えたのですが、不特定多数のPCで使う機会があるので手間が増えてしまうなと思い諦めました。
そこで、URLからIDとなる文字列を抽出してそれをファイル名に使おうと考えました。
参考URL:https://www.openrec.tv/live/7cuVKOAY3lv
この末尾の7cuVKOAY3lvの部分だけを、TITLEに代入したいと思ったのですが、思うようにいかなくて・・・。
それも考えたのですが、不特定多数のPCで使う機会があるので手間が増えてしまうなと思い諦めました。
そこで、URLからIDとなる文字列を抽出してそれをファイル名に使おうと考えました。
参考URL:https://www.openrec.tv/live/7cuVKOAY3lv
この末尾の7cuVKOAY3lvの部分だけを、TITLEに代入したいと思ったのですが、思うようにいかなくて・・・。
174デフォルトの名無しさん
2017/08/22(火) 21:10:23.56ID:rIu52qT/ 結局、実行batのディレクトリ内にnkf32を導入し、
nkf -s --overwrite %HTML%
と書き加えて対処致しました
nkf -s --overwrite %HTML%
と書き加えて対処致しました
175デフォルトの名無しさん
2017/08/29(火) 14:35:48.67ID:91TLAHUR フォルダの中に、あああ_1.flv あああ_2.flv … あああ_100.flvのようなファイルがあるときに、あああ_1.flvをあああ_001.flvのようにリネームしたりできないんでしょうか
176デフォルトの名無しさん
2017/08/29(火) 15:34:02.29ID:ZSKrJS0x >>175
Flexible Renamer
Flexible Renamer
177デフォルトの名無しさん
2017/08/29(火) 16:50:10.59ID:iDduY4Qi お〜瑠璃ね〜むで十分やぞ
D&D用のショトカも作れるしな
D&D用のショトカも作れるしな
178デフォルトの名無しさん
2017/08/29(火) 17:11:24.47ID:1aRkt9bd179デフォルトの名無しさん
2017/08/29(火) 20:06:42.61ID:KnTCuJQc set "a=あああ_"
set "b=.flv"
setlocal enabledelayedexpansion
for /L %%i in (1,1,99) do set /a c=%%i+1000 & ren "!a!%%i!b!" "!a!!c:~1!!b!"
set "b=.flv"
setlocal enabledelayedexpansion
for /L %%i in (1,1,99) do set /a c=%%i+1000 & ren "!a!%%i!b!" "!a!!c:~1!!b!"
180デフォルトの名無しさん
2017/08/31(木) 16:38:58.30ID:omILiWW+ >>175
pushd "%~dp1"
:LOOP
for /f "tokens=1,2 delims=_" %%a in ("%~n1") do (
set FNAME=%%a
set /a FN=%%b+1000
)
ren "%~1" "%FNAME%_%FN:~-3%%~x1"
shift
if not "%~1"=="" goto :LOOP
pushd "%~dp1"
:LOOP
for /f "tokens=1,2 delims=_" %%a in ("%~n1") do (
set FNAME=%%a
set /a FN=%%b+1000
)
ren "%~1" "%FNAME%_%FN:~-3%%~x1"
shift
if not "%~1"=="" goto :LOOP
181デフォルトの名無しさん
2017/08/31(木) 17:02:31.64ID:KsdTyPQv182デフォルトの名無しさん
2017/08/31(木) 17:53:19.91ID:Vr+Gp9oD どのスレでも一緒だが質問の要件が分かりにくいのはめんどうだな
183デフォルトの名無しさん
2017/08/31(木) 18:00:47.56ID:kMuf1wHV なんでか知らないけど他人に勝手にマルチポストされたけど>>175の質問は元のスレで解決したのでもういいです
184デフォルトの名無しさん
2017/09/03(日) 22:03:48.56ID:BJjXydYg cd \
pushd D:\abc
setlocal
popd
としても元の \ に戻らなかった
pushd D:\abc
setlocal
popd
としても元の \ に戻らなかった
185デフォルトの名無しさん
2017/09/04(月) 00:02:37.80ID:pBY/MKIa >>184
そうならなきゃ逆にダメでしょ
setlocalでは(親の環境を引き継いだ)別の環境の上で実行されている
カレントを移動しようが環境変数を操作しようが元の環境には影響しない
pushd D:\abc
setlocal
endlocal
popd
または
setlocal
pushd D:\abc
endlocal
そうならなきゃ逆にダメでしょ
setlocalでは(親の環境を引き継いだ)別の環境の上で実行されている
カレントを移動しようが環境変数を操作しようが元の環境には影響しない
pushd D:\abc
setlocal
endlocal
popd
または
setlocal
pushd D:\abc
endlocal
186デフォルトの名無しさん
2017/09/04(月) 01:15:44.81ID:24unggVp187デフォルトの名無しさん
2017/09/16(土) 05:02:43.18ID:cRJ1WDqm 今さらバッチファイル入門て…
余計な被害者増やさずPowerShellにしろよ
これだからIT後進国は
超入門コマンドプロンプト:バッチコマンドで定型処理を行う (1/3) - @IT
http://www.atmarkit.co.jp/ait/articles/1709/15/news034.html
017年09月15日 05時00分 公開
余計な被害者増やさずPowerShellにしろよ
これだからIT後進国は
超入門コマンドプロンプト:バッチコマンドで定型処理を行う (1/3) - @IT
http://www.atmarkit.co.jp/ait/articles/1709/15/news034.html
017年09月15日 05時00分 公開
188デフォルトの名無しさん
2017/09/16(土) 05:59:12.53ID:TbhIjs8j189デフォルトの名無しさん
2017/09/16(土) 06:09:12.67ID:NzFbxZfY PowerShellに移行しようと思ったこともあるけどファイルをD&D出来ないから断念した
あと他人の環境で動くのか分からないから渡しにくいし
あと他人の環境で動くのか分からないから渡しにくいし
190デフォルトの名無しさん
2017/09/16(土) 06:11:20.82ID:NzFbxZfY まあbatに面倒臭いとこがあるのも理解できるけど
せめて正規表現と小数の計算くらいはあればよかったんだが
せめて正規表現と小数の計算くらいはあればよかったんだが
191デフォルトの名無しさん
2017/09/16(土) 11:00:27.02ID:Nvo3nRRv 自分で使うにはPoweShellはめちゃめちゃ便利だけど
一般的に定着してるかというとそうじゃないし
一般的に定着してるかというとそうじゃないし
192デフォルトの名無しさん
2017/09/17(日) 11:17:50.05ID:jtG62g+O PowerShell は起動が遅いから小さいバッチをループで呼び出すのには向いてないんじゃないかな。
いったんロードしたオブジェクトを関数形式で呼び出せばいいんだろうけどよくわからなくてめんどくさいし。
いったんロードしたオブジェクトを関数形式で呼び出せばいいんだろうけどよくわからなくてめんどくさいし。
193デフォルトの名無しさん
2017/09/17(日) 11:23:06.30ID:jtG62g+O 最近、フリーソフトとかの小さいやつの管理がめんどくさくなって
メニュー代わりにバッチファイルを使うことにしたんですよ。
全部をVHDに入れてマウントなんで、持ち運びは仮想ディスクファイル1個をコピーするだけ。
起動が素早いのがメリット。
アイコンが出ないのがデメリット。
アイコン出そうと思ったら全環境で共通のドライブ名に固定してショートカットを使ったらいいと思うけど。
プログラムの入ったフォルダ
Program Files 3
バッチファイルの入ったフォルダ
Program Link
[FirefoxPortable.bat]
set pathname1=%~d0\Program Files 3\FireFoxPortable52.0.2\FirefoxPortable\FirefoxPortable.exe
start "" "%pathname1%"
メニュー代わりにバッチファイルを使うことにしたんですよ。
全部をVHDに入れてマウントなんで、持ち運びは仮想ディスクファイル1個をコピーするだけ。
起動が素早いのがメリット。
アイコンが出ないのがデメリット。
アイコン出そうと思ったら全環境で共通のドライブ名に固定してショートカットを使ったらいいと思うけど。
プログラムの入ったフォルダ
Program Files 3
バッチファイルの入ったフォルダ
Program Link
[FirefoxPortable.bat]
set pathname1=%~d0\Program Files 3\FireFoxPortable52.0.2\FirefoxPortable\FirefoxPortable.exe
start "" "%pathname1%"
194デフォルトの名無しさん
2017/09/17(日) 12:31:00.83ID:z++LvPT9 それだけならバッチ作るまでもなくハードリンクにすればアイコン問題も解決では
195デフォルトの名無しさん
2017/09/17(日) 12:37:46.24ID:z++LvPT9 あ、すまんそれだと実行ファイルと同じフォルダのDLL読めないからダメか
196デフォルトの名無しさん
2017/09/18(月) 00:06:56.51ID:AVBMNnfo 短いファイル名に関していくつか質問
1 短いファイル名はダブルクオーテーションで囲まなくても実行可能?
2 短いファイル名は取得して一ヶ月経っても変動せずにそのパスを実行出来る?
1 短いファイル名はダブルクオーテーションで囲まなくても実行可能?
2 短いファイル名は取得して一ヶ月経っても変動せずにそのパスを実行出来る?
197デフォルトの名無しさん
2017/09/18(月) 23:50:36.04ID:2dThcY7y198デフォルトの名無しさん
2017/09/19(火) 00:09:36.87ID:I5t298fo 少なくともNTFSではファイルの情報としてショートファイルネームも格納されるから
ファイルが存在したままある日突然名前が変わることはないはず
そのファイルを削除して似たようなロングファイルネームの別のファイルを作った時
同名だけど別のファイルが出来てしまう事はありえる
ファイルが存在したままある日突然名前が変わることはないはず
そのファイルを削除して似たようなロングファイルネームの別のファイルを作った時
同名だけど別のファイルが出来てしまう事はありえる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 『しんちゃんと岸田さん』 [175344491]
- 【高市デイリー】 久しぶりにヤマザキデイリー行ったら 店内焼き立てパンの値段がバカ高くてワロタ。 晋さん、もう買えないよ…… [485983549]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国発日本行の航空券、491,000件(全体の32%)がキャンセルされたと判明。高市どうすんのこれ [603416639]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
- 日本株、大暴落!!! [252835186]
