[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
165(1): 2017/08/20(日)16:53 ID:vBwVL8I3(1/2) AAS
>>163
xcopyでAAAAなどのファイルを一つずつ指定してコピーするというのは?
166(1): 2017/08/20(日)17:25 ID:7nn0chG1(2/3) AAS
>>165
実験してみたんですが、
xcopy D:\XXXX\AAAA E:\backup\
とすると、backupフォルダには、
AAAA
\YYYY\AAAA
\ZZZZ\AAAA
の3ファイルがコピーされちゃうんですよ
\YYYYと\ZZZZのはいらないのでどうしたもんかなと質問させていただきました
167(1): 2017/08/20(日)17:36 ID:vBwVL8I3(2/2) AAS
>>166
こちらの方でもテストしたけど1ファイルだけコピーになるんだけどな
なんでだろ
168: 2017/08/20(日)17:43 ID:7nn0chG1(3/3) AAS
>>167
テストありがとうございます
あれ?
なんか余計なスイッチ入れるとかしちゃってたかな?
今出先なんで帰ったら再度実験してみます
169: 2017/08/20(日)19:15 ID:T95gEh5X(2/2) AAS
>>161
cd /d "%~dp1" & set "File=%~nx1" & call ren "%%File%%" "%%File: =%%"
>>163
cd /d "D:\XXXX"
for %%i in (AAAA BBBB CCCC) do xcopy /h /y "%%~i" "E:\backup"
170(1): 2017/08/22(火)19:19 ID:rIu52qT/(1/3) AAS
以前こちらで聞いて試行錯誤しているのですが、何分初心者で四苦八苦しております。
そこでご教授願いたいのですが、
@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 ID:uGuLhv+Q(1) AAS
powershellに切り替えたら?
172(1): 2017/08/22(火)20:50 ID:1dHyDD35(1) AAS
>>170
よく分からないけどbat自体をUTF-8で書いてchcp 65001というのは?
173: 2017/08/22(火)20:52 ID:rIu52qT/(2/3) AAS
>>172
それも考えたのですが、不特定多数のPCで使う機会があるので手間が増えてしまうなと思い諦めました。
そこで、URLからIDとなる文字列を抽出してそれをファイル名に使おうと考えました。
参考URL:外部リンク:www.openrec.tv
この末尾の7cuVKOAY3lvの部分だけを、TITLEに代入したいと思ったのですが、思うようにいかなくて・・・。
174: 2017/08/22(火)21:10 ID:rIu52qT/(3/3) AAS
結局、実行batのディレクトリ内にnkf32を導入し、
nkf -s --overwrite %HTML%
と書き加えて対処致しました
175(4): 2017/08/29(火)14:35 ID:91TLAHUR(1) AAS
フォルダの中に、あああ_1.flv あああ_2.flv … あああ_100.flvのようなファイルがあるときに、あああ_1.flvをあああ_001.flvのようにリネームしたりできないんでしょうか
176(1): 2017/08/29(火)15:34 ID:ZSKrJS0x(1) AAS
>>175
Flexible Renamer
177: 2017/08/29(火)16:50 ID:iDduY4Qi(1) AAS
お〜瑠璃ね〜むで十分やぞ
D&D用のショトカも作れるしな
178: 2017/08/29(火)17:11 ID:1aRkt9bd(1) AAS
>>175
「のようなファイルがあるときに」の条件がどこまでかわからないが
>>176が一番早いのは間違いない
179: 2017/08/29(火)20:06 ID:KnTCuJQc(1) AAS
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!"
180(1): 2017/08/31(木)16:38 ID:omILiWW+(1) AAS
>>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
181: 2017/08/31(木)17:02 ID:KsdTyPQv(1) AAS
>>180
変換の数字の前が_文字じゃないかもしれないし
_文字がファイル名の中に混じっている可能性もあるし
182: 2017/08/31(木)17:53 ID:Vr+Gp9oD(1) AAS
どのスレでも一緒だが質問の要件が分かりにくいのはめんどうだな
183: 2017/08/31(木)18:00 ID:kMuf1wHV(1) AAS
なんでか知らないけど他人に勝手にマルチポストされたけど>>175の質問は元のスレで解決したのでもういいです
184(1): 2017/09/03(日)22:03 ID:BJjXydYg(1) AAS
cd \
pushd D:\abc
setlocal
popd
としても元の \ に戻らなかった
185(1): 2017/09/04(月)00:02 ID:pBY/MKIa(1) AAS
>>184
そうならなきゃ逆にダメでしょ
setlocalでは(親の環境を引き継いだ)別の環境の上で実行されている
カレントを移動しようが環境変数を操作しようが元の環境には影響しない
pushd D:\abc
setlocal
endlocal
popd
または
setlocal
pushd D:\abc
endlocal
186: 2017/09/04(月)01:15 ID:24unggVp(1) AAS
>>185
ありがとうございました
そういうことでしたか
187(1): 2017/09/16(土)05:02 ID:cRJ1WDqm(1) AAS
今さらバッチファイル入門て…
余計な被害者増やさずPowerShellにしろよ
これだからIT後進国は
超入門コマンドプロンプト:バッチコマンドで定型処理を行う (1/3) - @IT
外部リンク[html]:www.atmarkit.co.jp
017年09月15日 05時00分 公開
188: 2017/09/16(土)05:59 ID:TbhIjs8j(1) AAS
>>187
このスレのタイトル見てから言えよ
それとも、お前は、自分が使ってないソフトのスレ行って
「別のソフト使え」って言って巡るのが趣味なのか?
189: 2017/09/16(土)06:09 ID:NzFbxZfY(1/2) AAS
PowerShellに移行しようと思ったこともあるけどファイルをD&D出来ないから断念した
あと他人の環境で動くのか分からないから渡しにくいし
190: 2017/09/16(土)06:11 ID:NzFbxZfY(2/2) AAS
まあbatに面倒臭いとこがあるのも理解できるけど
せめて正規表現と小数の計算くらいはあればよかったんだが
191: 2017/09/16(土)11:00 ID:Nvo3nRRv(1) AAS
自分で使うにはPoweShellはめちゃめちゃ便利だけど
一般的に定着してるかというとそうじゃないし
192: 2017/09/17(日)11:17 ID:jtG62g+O(1/2) AAS
PowerShell は起動が遅いから小さいバッチをループで呼び出すのには向いてないんじゃないかな。
いったんロードしたオブジェクトを関数形式で呼び出せばいいんだろうけどよくわからなくてめんどくさいし。
193: 2017/09/17(日)11:23 ID:jtG62g+O(2/2) AAS
最近、フリーソフトとかの小さいやつの管理がめんどくさくなって
メニュー代わりにバッチファイルを使うことにしたんですよ。
全部を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 ID:z++LvPT9(1/2) AAS
それだけならバッチ作るまでもなくハードリンクにすればアイコン問題も解決では
上下前次1-新書関写板覧索設栞歴
あと 808 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.029s