【.cmd】 バッチファイルスクリプト %15 【.bat】 (819レス)
1-

66
(1): デフォルトの名無しさん [sage] 2022/11/13(日) 19:33:26.85 ID:sU7z5EJX(1) AAS
>>64
64(1): デフォルトの名無しさん [sage] 2022/11/12(土) 20:19:55.55 ID:/WV4ttu0(1/2) AAS
set /p で異体字セレクタ(IVS)を入力できない
IMEパッドが作動しない
いちいちメモ帳からコピペ入力するしかないのか
表示も化けてるし…
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にサブキーがいっぱいあるな
81: デフォルトの名無しさん [sage] 2022/11/27(日) 21:48:39.87 ID:nWgXfjD8(2/2) AAS
PowerShellを使う方法もmodeを使う方法も >>74 で既出
それ以外の方法があったと >>75 は言ってるようなのだが…
なお reg を使う >>79 は今のウインドウのサイズじゃないから失格かなあ
82: デフォルトの名無しさん [sage] 2022/11/28(月) 00:00:04.17 ID:so4XQ+4A(1) AAS
more で画面毎に止まってくれるが
あれはどこから画面行数情報を得ているのだろう
83
(1): デフォルトの名無しさん [sage] 2022/11/28(月) 23:31:47.71 ID:YeZSlVdS(1) AAS
PowerShell を使っていいなら

for /F "tokens=2 delims=[;" %%L in ('pwsh -nop -c "[console]::Error.Write(\"`e7`e[999^;999H`e[6n`e8\"); [console]::Error.Flush(); do { $k = [console]::ReadKey().KeyChar; } until ($k -eq \"R\"); \"\""') do echo LINES: %%L

Windows PowerShell だと `e が使えないからもう少しごちゃっとする
84: デフォルトの名無しさん [sage] 2022/11/29(火) 22:16:00.02 ID:noJ3pHan(1) AAS
ぐぐって出てこないならもうpowershell使うしかないんじゃね
>>83お前こんな糞コード晒す前にちょっと考えろよ頼むよ白けるわ
85: デフォルトの名無しさん [sage] 2022/11/29(火) 22:25:15.99 ID:WKccTgje(1) AAS
ウインドウの行数を調べる方法まとめ

mode(とcmd)を使う方法
for /F %%E in ('cmd ^< nul /D /K prompt $E') do (
  set < nul /P =%%E[?1049h
  set LINES=
  for /F "tokens=2 delims=:" %%L in ('mode con') do (
    if not defined LINES set /A LINES=%%L
  )
  set < nul /P =%%E[?1049l
)

PowerShellを使う方法
for /F %%L in ('pwsh -nop -c "[console]::WindowHeight"') do set LINES=%%L

エスケープシーケンス(とPowerShell)で頑張る方法
for /F "tokens=2 delims=[;" %%L in ('pwsh -nop -c "[console]::Error.Write(\"`e7`e[999^;999H`e[6n`e8\"); [console]::Error.Flush(); do { $k = [console]::ReadKey().KeyChar; } until ($k -eq 'R')"') do set LINES=%%L
86: デフォルトの名無しさん [sage] 2022/11/29(火) 23:27:39.60 ID:F0R68kvV(1) AAS
エスケープシーケンスはwin10以前だとダメじゃなかったっけ
ansi.sysがwin8.1までは組み込まれない
87
(1): デフォルトの名無しさん [sage] 2022/12/01(木) 15:35:07.57 ID:a9edrtS0(1) AAS
set d=%DATE:/=%
とやった後、1日前の日付にしたいのですがうまい方法・コマンドないですか

20221201 -> 20221130
20221202 -> 20221201
20220101 -> 20211231
20200301 -> 20200229

うるう年と月末年末に気を付けてif文で分けるしかないのかなと思いますが
case文ってコマンドプロンプトにないですよね
88: デフォルトの名無しさん [sage] 2022/12/01(木) 15:58:56.25 ID:Z3Gzq7Gr(1) AAS
gotoがある
89: デフォルトの名無しさん [sage] 2022/12/01(木) 19:38:25.34 ID:gTSnhqIH(1) AAS
計算すれば出来るんだろうけど面倒くさいのでPowerShell使ってる
90: デフォルトの名無しさん [sage] 2022/12/01(木) 21:59:03.06 ID:CyN7Asjt(1/2) AAS
powershell -c "(get-date).adddays(-1).tostring('yyyyMMdd')"
1-
あと 729 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s