[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
158: 2017/08/15(火)10:13 ID:x5EZUuTK(1) AAS
名前ソートで上に持ってきたいフォルダには名前の頭に!をつけてる
159: 2017/08/17(木)23:34 ID:jGLnJoZN(1) AAS
スペースが入ったファイル名からスペースを取り除くには一行では無理ですか?
160: 2017/08/18(金)00:59 ID:Oq4EZT3J(1/2) AAS
こんな感じ?
set "File=%~1" & ren "%File%" "remove=%File: =%"
161(2): 2017/08/18(金)01:00 ID:Oq4EZT3J(2/2) AAS
間違えた
set "File=%~1" & ren "%File%" "%File: =%"
162: 2017/08/20(日)03:39 ID:w/lVOYHU(1) AAS
バッチでよく使う pslist.exe はプロセス名が日本語だと間違える
pslist v1.4 sysonternals
163(2): 2017/08/20(日)16:32 ID:7nn0chG1(1/3) AAS
フォルダD:\XXXX直下の、
AAAA、BBBB、CCCCの3つの隠しファイル(拡張子なし)を、
定期的にE:\backupフォルダにバックアップするためのバッチファイルを作りたい
フォルダXXXX以下には、YYYY、ZZZZというフォルダがあり、
この下にもAAAA、BBBB、CCCCと同名のファイルが存在するが、
それはバックアップしなくていい
copyコマンドでは隠しファイルはコピーできない
xcopyコマンドではサブディレクトリ以下の同名ファイルもコピーされてしまう
バッチファイルで処理するためにはどうすればいいのでしょうか?
できればアトリビュートはいじりたくないです
よろしくお願いいたします
164: 2017/08/20(日)16:35 ID:T95gEh5X(1/2) AAS
>>161
誰もツッコミ無しなの?
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分 公開
上下前次1-新書関写板覧索設栞歴
あと 815 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.018s