拡張子が .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/05/12(金) 00:01:39.58ID:1meaH6LX
set txt="C:\scr\a.txt"
for /f "delims=, usebackq tokens=1,2,3,4,5,6,7,8" %%i in (%txt%) do (
set /a X="(%%j-%%i)+(%%l-%%k)+(%%n-%%m)+(%%p-%%o)"
)
echo %X%
forを使った計算について質問ですがa.txtから数値を抜き出し計算したいのですが最後の二つが空の場合があり
この場合は%%pと%%oですがその場合はエラーになって強制終了してしまいます
gotoを使う方法は思いついたのですが他に空だった場合にゼロを代入するなどは可能でしょうか?
for /f "delims=, usebackq tokens=1,2,3,4,5,6,7,8" %%i in (%txt%) do (
set /a X="(%%j-%%i)+(%%l-%%k)+(%%n-%%m)+(%%p-%%o)"
)
echo %X%
forを使った計算について質問ですがa.txtから数値を抜き出し計算したいのですが最後の二つが空の場合があり
この場合は%%pと%%oですがその場合はエラーになって強制終了してしまいます
gotoを使う方法は思いついたのですが他に空だった場合にゼロを代入するなどは可能でしょうか?
2017/05/12(金) 08:46:27.33ID:trqCrhEU
set txt="C:\scr\a.txt"
for /f "usebackq tokens=1,2,3,4,5,6,7,8 delims=, " %%i in (%txt%) do (
set /a X=%%j-%%i+%%l-%%k+%%n-%%m, po=%%p-%%o
)
set /a XX=X+po
echo %XX%
for /f "usebackq tokens=1,2,3,4,5,6,7,8 delims=, " %%i in (%txt%) do (
set /a X=%%j-%%i+%%l-%%k+%%n-%%m, po=%%p-%%o
)
set /a XX=X+po
echo %XX%
2017/05/12(金) 11:05:40.92ID:lLM9Jqdl
echo ^
とすると more? と出る
??
とすると more? と出る
??
2017/05/12(金) 12:02:37.54ID:+kEWkBL6
2017/05/19(金) 17:52:47.97ID:ya28xWZT
特定のフォルダ内のテキストファイルを処理するバッチを作りましたが
@echo off
for /f "usebackq delims=" %%i in (`dir /B /S "E:\text_sc\*.txt"`) do (
echo %%i
call E:\work\syori.bat "%%i"
)
syori.batで処理したテキストを忘れないようにリスト化(syorizumi_list.txt)
aaa
bbb
ccc
のように処理したテキストの名前だけ縦に追記
次回から新しいテキストファイルが同じフォルダに出来た場合にsyorizumi_list.txtの
処理済みのテキストを除外して処理したいのですが
コマンドのアドバイスを頂けないでしょうか
@echo off
for /f "usebackq delims=" %%i in (`dir /B /S "E:\text_sc\*.txt"`) do (
echo %%i
call E:\work\syori.bat "%%i"
)
syori.batで処理したテキストを忘れないようにリスト化(syorizumi_list.txt)
aaa
bbb
ccc
のように処理したテキストの名前だけ縦に追記
次回から新しいテキストファイルが同じフォルダに出来た場合にsyorizumi_list.txtの
処理済みのテキストを除外して処理したいのですが
コマンドのアドバイスを頂けないでしょうか
2017/05/19(金) 19:38:36.49ID:HiKVEJh7
>>79
もし、その入力ファイルをその後弄らないのならファイル属性を弄るのがいい
例えば、アーカイブ属性を削るとか読み取り専用属性にするとか
そうすれば、forの中のdirに/aで分別できる
それが無理な場合は、こんなかんじでファイルに登録されているかどうかチェックするとかかな
findstr /x "%%~ni" syorizumi_list.txt >nul
if errorlenel 1 (
echo %%i
call E:\work\syori.bat "%%i"
)
)
もし、その入力ファイルをその後弄らないのならファイル属性を弄るのがいい
例えば、アーカイブ属性を削るとか読み取り専用属性にするとか
そうすれば、forの中のdirに/aで分別できる
それが無理な場合は、こんなかんじでファイルに登録されているかどうかチェックするとかかな
findstr /x "%%~ni" syorizumi_list.txt >nul
if errorlenel 1 (
echo %%i
call E:\work\syori.bat "%%i"
)
)
2017/05/19(金) 21:01:19.56ID:ya28xWZT
>>80
レスありがとうございます
読み取り属性の方は最終手段としてとりあえず書かれたコマンドを追記してテストしていますが
エラーで強制終了してしまいます・・・
ヒントは頂けたのでちょっと考えてみます
レスありがとうございます
読み取り属性の方は最終手段としてとりあえず書かれたコマンドを追記してテストしていますが
エラーで強制終了してしまいます・・・
ヒントは頂けたのでちょっと考えてみます
2017/05/19(金) 21:32:14.27ID:8Dg0HTHO
処理済みファイルを下位ファルダに移動させるとかじゃダメなの?
それが1番楽だと思うけど
それが1番楽だと思うけど
2017/05/19(金) 22:02:54.16ID:ya28xWZT
ダメではないですし意地になってるだけです・・・
すいません
どうしようもなければそうしおうと思います
すいません
どうしようもなければそうしおうと思います
2017/05/19(金) 22:41:00.81ID:HiKVEJh7
2017/05/19(金) 22:45:30.06ID:HiKVEJh7
あと、移動させるなら下位フォルダはダメだよ
dir /sではそれも対象だから
dir /sではそれも対象だから
2017/05/19(金) 23:51:05.34ID:ya28xWZT
2017/05/20(土) 02:30:44.06ID:HrYyDnOr
2017/05/20(土) 08:10:06.10ID:N++czmo3
2017/05/20(土) 21:37:37.96ID:HrYyDnOr
2017/05/20(土) 22:35:16.21ID:N++czmo3
2017/05/22(月) 14:12:41.59ID:Q9T2A2Wt
こんなろくに理解せずそのまんまコピペして使ってるとトラップに引っかかるぞ
2017/05/22(月) 22:28:16.59ID:b+LuBt/G
下位フォルダに移動することも検討してるなんてレスから
/sが必要だとも思えんよね
/sが必要だとも思えんよね
2017/05/22(月) 22:30:42.85ID:b+LuBt/G
もし/sが意図通りだったら
aaa.txt
aaa\aaa.txt
なんて状況どうするんだって話だし
aaa.txt
aaa\aaa.txt
なんて状況どうするんだって話だし
2017/05/26(金) 07:30:18.71ID:/NUGeMQI
2017/05/26(金) 16:05:36.92ID:OOQCykcT
引数 %1 %2 ,, は%9 までだが
shiftで取り出せば%10以上でも取り出せた
shiftで取り出せば%10以上でも取り出せた
2017/06/15(木) 12:35:49.64ID:j04OpPTD
Cドラのdown配下のmp4とaviを
DドラTozakaruzoSaikonkaraに集約してコピーしたいときはどうするの?
XCOPY "C:\down\*.mp4” "D:\TozakaruzoSaikonkara\" /d /e /h /r /y
XCOPY "C:\down\*.avi" "D:TozakaruzoSaikonkara\" /d /e /h /r /y
ワイルドカード使いたいけど、eroやmoroのところが難しい
for文の記述の方がいいなど、よろしくお願いします。
C:/
├down/
│ └ ero/
│ └ 111.mp4
│ └ moro/
│ └ xx2.avi
│ └ zzz.mp4
│ └xxx.avi
D:/
├TozakaruzoSaikonkara/
│ └ 111.mp4
│ └ xx2.avi
│ └ zzz.mp4
│ └ xxx.avi
DドラTozakaruzoSaikonkaraに集約してコピーしたいときはどうするの?
XCOPY "C:\down\*.mp4” "D:\TozakaruzoSaikonkara\" /d /e /h /r /y
XCOPY "C:\down\*.avi" "D:TozakaruzoSaikonkara\" /d /e /h /r /y
ワイルドカード使いたいけど、eroやmoroのところが難しい
for文の記述の方がいいなど、よろしくお願いします。
C:/
├down/
│ └ ero/
│ └ 111.mp4
│ └ moro/
│ └ xx2.avi
│ └ zzz.mp4
│ └xxx.avi
D:/
├TozakaruzoSaikonkara/
│ └ 111.mp4
│ └ xx2.avi
│ └ zzz.mp4
│ └ xxx.avi
2017/06/15(木) 13:13:57.77ID:6QOS5lbl
robocopy /?
2017/06/15(木) 15:41:43.67ID:y+UEOWCj
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のようにリネームしたりできないんでしょうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 高市「シカ発言撤回しない」ネトウヨに媚びた発言したら総理になれた。成功体験が忘れられない😲 [861717324]
- 『しんちゃんと岸田さん』 [175344491]
- 竹田天皇「中国の渡航自粛勧告は日本にとって渡りに船」 [377482965]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国発日本行の航空券、491,000件(全体の32%)がキャンセルされたと判明。高市どうすんのこれ [603416639]
- 【緊急】日本、円安バブル遂に崩壊!インバウンド崩壊に株大暴落! [383063292]
