【.cmd】 バッチファイルスクリプト %15 【.bat】 (819レス)
【.cmd】 バッチファイルスクリプト %15 【.bat】 http://mevius.5ch.net/test/read.cgi/tech/1663153441/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
71: デフォルトの名無しさん [sage] 2022/11/22(火) 09:23:33.75 ID:IBEEH7ii 過去にも似たような話があったなあ 何かでenterキーの入力を省略したいって 結局、うまい方法が見つからない http://mevius.5ch.net/test/read.cgi/tech/1663153441/71
72: 69 [sage] 2022/11/22(火) 21:44:34.08 ID:CBUeGsgY なるほど情報ありがとう PowerShell なら [console]::CursorLeft と [console]::CursorTop で取得できるのを確認しました。 PowerShellを呼ぶか全部PowerShellで書くか悩ましい… http://mevius.5ch.net/test/read.cgi/tech/1663153441/72
73: デフォルトの名無しさん [sage] 2022/11/25(金) 01:48:24.17 ID:is72b8Mh コンソールの座標が必要になるってことはGUIを検討すべき時がきたんじゃないか コンソールの画面でいくらがんばっても大したことできんよ http://mevius.5ch.net/test/read.cgi/tech/1663153441/73
74: デフォルトの名無しさん [sage] 2022/11/25(金) 20:54:30.19 ID:YIxTypne そんなたいしたことじゃなくてね 画面に合わせた出力がしたくて行数を知りたかっただけ mode con は WindowsTerminal ではいいけど conhost ではうまくない PowerShellで得られる [console]::WinndowHeight が欲しいのに [console]::BufferHeight が返ってきてしまう それなら %esc%7%esc%[999;999H%esc%[6n%esc%8 みたいなエスケープシーケンスで カーソル位置を使って調べようかと思って で質問した後で気づいたけど 代替画面バッファーに切り替えて mode con すればいいのな まあ PowerShell 一発で取れるなら楽だしもういいかなって でも他の方法があるなら知りたい http://mevius.5ch.net/test/read.cgi/tech/1663153441/74
75: デフォルトの名無しさん [sage] 2022/11/27(日) 05:02:29.30 ID:IKV/PDeN powershellなんぞ使わずとも行数ごとき得る方法はあるぞ 昔はpowershell自体無かったんだからな まあ具体的には思い出せないんだがぐぐれば出てくるだろ http://mevius.5ch.net/test/read.cgi/tech/1663153441/75
76: デフォルトの名無しさん [sage] 2022/11/27(日) 11:26:11.98 ID:nWgXfjD8 いくらぐぐってもファイルの行数を調べるとか画面の行数を変更するしか見つからない… 行数ごときというならぜひ思い出して教えてください http://mevius.5ch.net/test/read.cgi/tech/1663153441/76
77: デフォルトの名無しさん [sage] 2022/11/27(日) 12:43:26.54 ID:WeJVO7HI powershell (get-host).ui.rawui.windowsize powershell (get-host).ui.rawui.windowsize.height powershell (get-host).ui.rawui.windowsize.width http://mevius.5ch.net/test/read.cgi/tech/1663153441/77
78: デフォルトの名無しさん [sage] 2022/11/27(日) 17:27:16.98 ID:fMz//05T mode か? http://mevius.5ch.net/test/read.cgi/tech/1663153441/78
79: デフォルトの名無しさん [sage] 2022/11/27(日) 18:49:52.00 ID:WeJVO7HI 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% http://mevius.5ch.net/test/read.cgi/tech/1663153441/79
80: デフォルトの名無しさん [sage] 2022/11/27(日) 19:34:17.80 ID:fMz//05T Consoleにサブキーがいっぱいあるな http://mevius.5ch.net/test/read.cgi/tech/1663153441/80
81: デフォルトの名無しさん [sage] 2022/11/27(日) 21:48:39.87 ID:nWgXfjD8 PowerShellを使う方法もmodeを使う方法も >>74 で既出 それ以外の方法があったと >>75 は言ってるようなのだが… なお reg を使う >>79 は今のウインドウのサイズじゃないから失格かなあ http://mevius.5ch.net/test/read.cgi/tech/1663153441/81
82: デフォルトの名無しさん [sage] 2022/11/28(月) 00:00:04.17 ID:so4XQ+4A more で画面毎に止まってくれるが あれはどこから画面行数情報を得ているのだろう http://mevius.5ch.net/test/read.cgi/tech/1663153441/82
83: デフォルトの名無しさん [sage] 2022/11/28(月) 23:31:47.71 ID:YeZSlVdS 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 が使えないからもう少しごちゃっとする http://mevius.5ch.net/test/read.cgi/tech/1663153441/83
84: デフォルトの名無しさん [sage] 2022/11/29(火) 22:16:00.02 ID:noJ3pHan ぐぐって出てこないならもうpowershell使うしかないんじゃね >>83お前こんな糞コード晒す前にちょっと考えろよ頼むよ白けるわ http://mevius.5ch.net/test/read.cgi/tech/1663153441/84
85: デフォルトの名無しさん [sage] 2022/11/29(火) 22:25:15.99 ID:WKccTgje ウインドウの行数を調べる方法まとめ 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 http://mevius.5ch.net/test/read.cgi/tech/1663153441/85
86: デフォルトの名無しさん [sage] 2022/11/29(火) 23:27:39.60 ID:F0R68kvV エスケープシーケンスはwin10以前だとダメじゃなかったっけ ansi.sysがwin8.1までは組み込まれない http://mevius.5ch.net/test/read.cgi/tech/1663153441/86
87: デフォルトの名無しさん [sage] 2022/12/01(木) 15:35:07.57 ID:a9edrtS0 set d=%DATE:/=% とやった後、1日前の日付にしたいのですがうまい方法・コマンドないですか 20221201 -> 20221130 20221202 -> 20221201 20220101 -> 20211231 20200301 -> 20200229 うるう年と月末年末に気を付けてif文で分けるしかないのかなと思いますが case文ってコマンドプロンプトにないですよね http://mevius.5ch.net/test/read.cgi/tech/1663153441/87
88: デフォルトの名無しさん [sage] 2022/12/01(木) 15:58:56.25 ID:Z3Gzq7Gr gotoがある http://mevius.5ch.net/test/read.cgi/tech/1663153441/88
89: デフォルトの名無しさん [sage] 2022/12/01(木) 19:38:25.34 ID:gTSnhqIH 計算すれば出来るんだろうけど面倒くさいのでPowerShell使ってる http://mevius.5ch.net/test/read.cgi/tech/1663153441/89
90: デフォルトの名無しさん [sage] 2022/12/01(木) 21:59:03.06 ID:CyN7Asjt powershell -c "(get-date).adddays(-1).tostring('yyyyMMdd')" http://mevius.5ch.net/test/read.cgi/tech/1663153441/90
91: デフォルトの名無しさん [sage] 2022/12/01(木) 22:14:49.13 ID:M8gPga1Y もうここpowershellスレにしたら http://mevius.5ch.net/test/read.cgi/tech/1663153441/91
92: デフォルトの名無しさん [sage] 2022/12/01(木) 22:30:45.79 ID:CyN7Asjt 過去スレにBATがあったと思って探してみた 何故かそのスレは過去ログに保存されてないので別サイトの方を示しとく https://geolog.mydns.jp/www.geocities.co.jp/yggdrasil_leaf2000/log00/dos/win06.htm ここのレス番65あたり http://mevius.5ch.net/test/read.cgi/tech/1663153441/92
93: デフォルトの名無しさん [sage] 2022/12/02(金) 07:27:12.50 ID:elckNyGo >>87 set /a d=20221201 set /a f=10000,g=100,h=8869,i=69,j=278803 set /a "n=d-1,n-=!(n%%f-g)*h,c=n/f" set /a "a=j-!(c%%4)+!(c%%100)-!(c%%400)<<6" set /a "n-=!(n%%g)*(i+(a>>(n%%f/g)*2&3))" echo %n% http://mevius.5ch.net/test/read.cgi/tech/1663153441/93
94: デフォルトの名無しさん [sage] 2022/12/02(金) 21:24:55.56 ID:JHo2A9dA 日時の操作に関してはもう便利すぎてpowershellへ丸投げしたほうがいいな powershellというか.NETのDateTimeのメソッドではあるが >>93とか何してるか本当に合ってるのかわからんような事をするよりは http://mevius.5ch.net/test/read.cgi/tech/1663153441/94
95: デフォルトの名無しさん [sage] 2022/12/02(金) 22:23:50.58 ID:elckNyGo 確かにそうだな。計算できん奴はやめとけ http://mevius.5ch.net/test/read.cgi/tech/1663153441/95
96: デフォルトの名無しさん [sage] 2022/12/04(日) 15:45:51.56 ID:xdG8GXCM 変数1の値を変数2にsetするとエラーになります。 値は文字列で不定ですが、記号文字が原因のようです。 遅延展開ではありません。 うまい方法はないですか。 http://mevius.5ch.net/test/read.cgi/tech/1663153441/96
97: デフォルトの名無しさん [sage] 2022/12/04(日) 20:44:29.33 ID:pNrDPWEq ダメな質問の見本になってるぞ 書ける範囲でいいから、再現性のある最低限のコードと エラーメッセージとその時の実際の変数値を書いてくれ http://mevius.5ch.net/test/read.cgi/tech/1663153441/97
98: デフォルトの名無しさん [sage] 2022/12/05(月) 19:02:53.29 ID:RxlUOQVH >>96 原因の記号文字は何? ()<>&|%!"^ とか? 引用符(")が含まれていない場合は set "変数2=%変数1%" 含まれている場合はキャレット(^)で全部エスケープ でもこれ「うまい方法」とは思えないけど set /p 変数1=変数1= set "変数2=" & set "CARET=^" setlocal enabledelayedexpansion :LOOP set 変数2=!変数2!!CARET!!変数1:~0,1! set 変数1=!変数1:~1! if defined 変数1 goto LOOP endlocal & set 変数2=%変数2% rem 結果を確認する set 変数1 set 変数2 http://mevius.5ch.net/test/read.cgi/tech/1663153441/98
99: デフォルトの名無しさん [sage] 2022/12/05(月) 23:44:59.81 ID:Xw9Qnajp 「変数1の値を変数2にset」という意味では良い方法だと思う。 でも変数間でコピーだけして終わりって事はまずないから あとは>>96が自分のコードにどう馴染ませて組み込んだりヒントにできるかだろうなぁ。 http://mevius.5ch.net/test/read.cgi/tech/1663153441/99
100: デフォルトの名無しさん [sage] 2022/12/06(火) 10:31:46.97 ID:VnO+filq いやこれだめだろ 試した? http://mevius.5ch.net/test/read.cgi/tech/1663153441/100
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 719 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s