【.cmd】 バッチファイルスクリプト %15 【.bat】 (819レス)
上下前次1-新
抽出解除 レス栞
40(1): デフォルトの名無しさん [sage] 2022/10/30(日) 20:28:18.19 ID:WT6dub7d(1) AAS
explorerで操作すると書き込めるからコマンドありそうな気がする
56: デフォルトの名無しさん [sage] 2022/11/03(木) 16:10:12.19 ID:7S7IyYLz(2/5) AAS
>>5252(1): デフォルトの名無しさん [sage] 2022/11/03(木) 15:28:23.28 ID:/STCGL2q(1) AAS
46様、47様、48様
>>44です。
早速のご回答&アドバイス、ありがとうございました。
どの方法でもうまくrenameでき、とても参考になりました。
ただ、for文に組込むと、1つ目のファイルだけ、
2回処理が実行されてしまいます。
例えば、以下のバッチ
-------------------------------------------
for %%i in (*.m4a) do (
set "vv=%%~ni"
call ren "%%~i" "%%vv:~0,4%%%%vv:~8%%%%~xi"
)
-------------------------------------------
を実行すると、
a1234567890a.m4a→a123.m4a ←2回
b1234567890b.m4a→b123890b.m4a
c1234567890c.m4a→c123890c.m4a
となってしまいます。
これは、私のfor文の使用法に誤りがあると考えられ
ますので、自力解決すべく調べているのですが…
参考になりそうなサイトなどご存知でしたら、教えて頂けませんでしょうか?
何度も申し訳ありません。
だから for (*) do ren ~ はお勧めしない
同じファイルに複数回処理する可能性がある
ren を move にして別のフォルダに送れ
!文字がある時は for の内部で遅延展開設定、解除しろ
74(1): デフォルトの名無しさん [sage] 2022/11/25(金) 20:54:30.19 ID:YIxTypne(1) AAS
そんなたいしたことじゃなくてね
画面に合わせた出力がしたくて行数を知りたかっただけ
mode con は WindowsTerminal ではいいけど conhost ではうまくない
PowerShellで得られる [console]::WinndowHeight が欲しいのに
[console]::BufferHeight が返ってきてしまう
それなら %esc%7%esc%[999;999H%esc%[6n%esc%8 みたいなエスケープシーケンスで
カーソル位置を使って調べようかと思って
で質問した後で気づいたけど
代替画面バッファーに切り替えて mode con すればいいのな
まあ PowerShell 一発で取れるなら楽だしもういいかなって
でも他の方法があるなら知りたい
249(1): デフォルトの名無しさん [sage] 2023/04/21(金) 08:48:46.19 ID:TBBX4m6H(1/2) AAS
>>246246(1): デフォルトの名無しさん [sage] 2023/04/18(火) 09:44:21.06 ID:N1MfEhNS(1) AAS
ファイルディスクリプタの1(標準出力)と3を同時にリダイレクトすると
以降プロンプトや標準出力が表示されなくなるのはなぜでしょう?
ハング等ではなく表示されないだけで、cmdとの対話モードは続いているようです。
C:\> dir >nul 3>nul
dir ←表示されない
dir >&2 ←表示される
winver ←起動する
ようわからんなこれ。
標準出力の向き先が3番に切り替わってる。
4番もリダイレクトすると標準エラー出力も切り替わりっぱなしになる。
バグ利用?だけどこれ利用するとデフォルトでログ出力できるな。
echo onだとプロンプトまで記録できる。
●【バッチ】**************************
@type nul 1>nul 2>nul 3>"%~f0.log" 4>&3
echo 処理開始
ver
cd aaa
echo 処理終了
@exit /b
●【画面】****************************
処理終了
続行するには何かキーを押してください . . .
●【ログ】****************************
C:\>echo 処理開始
処理開始
C:\>ver
Microsoft Windows [Version 10.0.19044.2846]
C:\>cd aaa
指定されたパスが見つかりません。
C:\>echo 処理終了
処理終了
284: デフォルトの名無しさん [sage] 2023/05/09(火) 12:54:13.19 ID:0Hn95uhF(1) AAS
ケアレスミスやね
自分もよくある
381: デフォルトの名無しさん [sage] 2023/07/06(木) 19:55:42.19 ID:T1YQhEvz(2/4) AAS
すまん。書き直した。
@echo off & chcp 65001 & set "b=end"
for /f "delims="eol^= %%i in ('dir /a-d-s-h /b /o-d') do (
if "%%i"=="%b%" (goto x) else echo hoge.exe "%%i")
:x
copy nul "%b%" & chcp 932
これ、バッチ処理中に追加ファイルあると不味いな
407: デフォルトの名無しさん [sage] 2023/07/24(月) 14:53:52.19 ID:NSMDQXn9(1) AAS
もぉえぇよデブコン
457(1): デフォルトの名無しさん [sage] 2023/10/11(水) 13:00:48.19 ID:yI6tEEU8(1) AAS
textファイル1に
a
b
c
d
が入ってて
textファイル2に
1
2
3
4
が入ってて
連結して
a1
b2
c3
d4
にしたいけど
dosコマンドだけでは無理?
489(1): デフォルトの名無しさん [sage] 2024/01/18(木) 21:24:27.19 ID:fl7npJfZ(1) AAS
消したいファイルやフォルダを列挙するのが一番シンプル
フォルダ内を全部消したいのなら rmdir /s /q
ただし指定したフォルダも消えるので再度作る必要はある
573: デフォルトの名無しさん [sage] 2024/10/12(土) 18:14:50.19 ID:Iy6RGAFA(2/2) AAS
リネームは昔からあるハックだけどな
頭悪そう
778: デフォルトの名無しさん [sage] 2025/08/10(日) 18:33:55.19 ID:vNE7ex5+(1) AAS
>>777777(1): デフォルトの名無しさん [sage] 2025/08/10(日) 01:49:24.39 ID:YdGUalHl(1) AAS
一部のマルチバイト文字が混在すると文字の間隔が変
コードページを変えると更に別の文字も化けたりする
一度に大量の行を表示すると最後にゴミが出てくる
タブはあると便利ですが単独のバッチには不要
コードページ、ターミナルアプリ(wt,conemu/cmderなど)、シェル(cmd,pwsh,bashなど)とフォントの相互作用なので完全解が難しいので
自分はシステムコードページ65001にして解空間を最大化している
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s