【.cmd】 バッチファイルスクリプト %15 【.bat】 (843レス)
上下前次1-新
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 の内部で遅延展開設定、解除しろ 
57: デフォルトの名無しさん [sage] 2022/11/03(木) 16:37:27.42 ID:7S7IyYLz(3/5) AAS
 for /f "delims=" %%i in ('dir *') do (ren ~ でもいいかな 
58: デフォルトの名無しさん [sage] 2022/11/03(木) 16:40:46.92 ID:7S7IyYLz(4/5) AAS
 すまんdir/bだ 
59(1): デフォルトの名無しさん [sage] 2022/11/03(木) 17:36:43.52 ID:sJbSZrhN(1) AAS
 cmd には 
  
 split | sort | uniq | wc 
  
 みたいなコマンドはないの? 
60: デフォルトの名無しさん [sage] 2022/11/03(木) 17:41:34.26 ID:7S7IyYLz(5/5) AAS
 ない 
61: デフォルトの名無しさん [sage] 2022/11/03(木) 18:18:22.55 ID:P2O5CHdk(2/2) AAS
 皆さんありがとうスマートっていうか単に速度の問題なのでどれが速いか競走させてみます 
62: デフォルトの名無しさん [sage] 2022/11/03(木) 18:56:34.58 ID:NbsIPyEs(1) AAS
 >>59 
 少なくとも標準では無いね 
 まあ使いたいならwslに行くか同等の機能をPowerShellで書くとかかな 
63: デフォルトの名無しさん [sage] 2022/11/03(木) 23:17:13.75 ID:0ov2k6Uz(1) AAS
 >>4949(1): デフォルトの名無しさん [sage] 2022/11/03(木) 13:10:19.17 ID:P2O5CHdk(1/2) AAS
 東京都、富山県、ネバダ州、東京都、東京都、雲南省、ネバダ州、東京都、みたいな数百行のfindの標準出力があって何種類の出力があるのかだけ欲しいんだけど何かスマートな方法ないですか  
PowerShellなりでやる内容だとは思うが、どうしてもバッチでやるなら 
 入力データ(findの結果)をソートして、データの変動を検知したらカウントアップ、でもできる。 
 ただし入力データに記号(メタキャラ)が含まれる場合はうまく動かない可能性あり。 
  
 setlocal EnableDelayedExpansion 
 set Count=0 
 set PrevLine= 
 for /f "delims=" %%A in ('find なんたら ^| sort') do ( 
     if "%%A" neq "!PrevLine!" set /a Count+=1 
     set "PrevLine=%%A" 
 ) 
 echo,!Count! 
64(1): デフォルトの名無しさん [sage] 2022/11/12(土) 20:19:55.55 ID:/WV4ttu0(1/2) AAS
 set /p で異体字セレクタ(IVS)を入力できない 
 IMEパッドが作動しない 
 いちいちメモ帳からコピペ入力するしかないのか 
 表示も化けてるし… 
65: デフォルトの名無しさん [sage] 2022/11/12(土) 20:44:49.08 ID:/WV4ttu0(2/2) AAS
 IMEパッドはダメなので、文字コード+F5 でいけた 
66(1): デフォルトの名無しさん [sage] 2022/11/13(日) 19:33:26.85 ID:sU7z5EJX(1) AAS
 >>64 
 Windows Terminal 
 IMEパッド可 
 異体字(IVS)表示可(対応フォントのみ) 
  
 cmdの標準ターミナルは仕様が古いまま放置されている 
67: デフォルトの名無しさん [sage] 2022/11/17(木) 22:22:21.92 ID:k+rrgD4B(1) AAS
 conhostも放置されずに結構手がはいってる 
 𠮷とか🐕とかのサロゲートペアも表示されるようになったし 
 エスケープシーケンスで画面のサイズが変えられるようになった 
  
 > sigcheck c:\windows\system32\conhost.exe 
 Sigcheck v2.71 - File version and signature viewer 
 Copyright (C) 2004-2018 Mark Russinovich 
 Sysinternals - www.sysinternals.com 
  
 c:\windows\system32\conhost.exe: 
         Verified:       Signed 
         Signing date:   7:59 2022/11/05 
         Publisher:      Microsoft Windows 
         Company:        Microsoft Corporation 
         Description:    Console Window Host 
         Product:        Microsoftョ Windowsョ Operating System 
         Prod version:   10.0.22621.675 
         File version:   10.0.22621.675 (WinBuild.160101.0800) 
         MachineType:    64-bit 
68: デフォルトの名無しさん [sage] 2022/11/18(金) 07:02:24.39 ID:LiWOBYzs(1) AAS
 >>66 サンクス 
 入力時に文字化けするので確認できない 
 echoで表示されるが文字の両側のスペースが気持ち悪い 
 でも標準画面よりはマシかな。おれは使わないけど 
69(1): デフォルトの名無しさん [sage] 2022/11/21(月) 20:53:34.41 ID:+ccbL4tM(1) AAS
 カーソルの位置を知る方法はありますか? 
  
 for /F %%E in ('cmd ^< nul /D /K prompt $E') do set esc=%%E 
 set /P CPR=%esc%[6n 
  
 だとenterキー待ちで止まります。enterを押せばCPRに結果が入りますが 
 押さずに結果を得る方法はないでしょうか。 
 あるいはまったく別の方法でカーソルの位置を知る方法はないでしょうか。 
70: デフォルトの名無しさん [sage] 2022/11/21(月) 21:55:41.71 ID:o6gng8CJ(1) AAS
 手段の拘りなければこんなんとかで。 
 powershell -nop -c "[Console]::CursorTop; [Console]::WindowTop;" 
71: デフォルトの名無しさん [sage] 2022/11/22(火) 09:23:33.75 ID:IBEEH7ii(1) AAS
 過去にも似たような話があったなあ 
 何かでenterキーの入力を省略したいって 
 結局、うまい方法が見つからない 
72: 69 [sage] 2022/11/22(火) 21:44:34.08 ID:CBUeGsgY(1) AAS
 なるほど情報ありがとう 
 PowerShell なら [console]::CursorLeft と [console]::CursorTop で取得できるのを確認しました。 
 PowerShellを呼ぶか全部PowerShellで書くか悩ましい… 
73: デフォルトの名無しさん [sage] 2022/11/25(金) 01:48:24.17 ID:is72b8Mh(1) AAS
 コンソールの座標が必要になるってことはGUIを検討すべき時がきたんじゃないか 
 コンソールの画面でいくらがんばっても大したことできんよ 
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 一発で取れるなら楽だしもういいかなって 
 でも他の方法があるなら知りたい 
75(1): デフォルトの名無しさん [sage] 2022/11/27(日) 05:02:29.30 ID:IKV/PDeN(1) AAS
 powershellなんぞ使わずとも行数ごとき得る方法はあるぞ 
 昔はpowershell自体無かったんだからな 
 まあ具体的には思い出せないんだがぐぐれば出てくるだろ 
76: デフォルトの名無しさん [sage] 2022/11/27(日) 11:26:11.98 ID:nWgXfjD8(1/2) AAS
 いくらぐぐってもファイルの行数を調べるとか画面の行数を変更するしか見つからない… 
 行数ごときというならぜひ思い出して教えてください 
77: デフォルトの名無しさん [sage] 2022/11/27(日) 12:43:26.54 ID:WeJVO7HI(1/2) AAS
 powershell (get-host).ui.rawui.windowsize 
 powershell (get-host).ui.rawui.windowsize.height 
 powershell (get-host).ui.rawui.windowsize.width 
78: デフォルトの名無しさん [sage] 2022/11/27(日) 17:27:16.98 ID:fMz//05T(1/2) AAS
 mode か? 
79(1): デフォルトの名無しさん [sage] 2022/11/27(日) 18:49:52.00 ID:WeJVO7HI(2/2) AAS
 for /f "tokens=3" %%i in ('reg query HKCU\Console /f WindowSize^|findstr WindowSize') do set h=%%i 
 set /a h=%h:~0,-4% 
 echo %h% 
80: デフォルトの名無しさん [sage] 2022/11/27(日) 19:34:17.80 ID:fMz//05T(2/2) AAS
 Consoleにサブキーがいっぱいあるな 
上下前次1-新書関写板覧索設栞歴
あと 763 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s