【.cmd】 バッチファイルスクリプト %15 【.bat】 (819レス)
【.cmd】 バッチファイルスクリプト %15 【.bat】 http://mevius.5ch.net/test/read.cgi/tech/1663153441/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
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
101: デフォルトの名無しさん [sage] 2022/12/06(火) 11:36:48.90 ID:vjJKyhqV 続きはpowershellで http://mevius.5ch.net/test/read.cgi/tech/1663153441/101
102: デフォルトの名無しさん [sage] 2022/12/06(火) 22:47:20.75 ID:LWPkE6+S setlocal enabledelayedexpansion for /f "delims=" %%i in ("set var2=!var1!") do endlocal & %%i http://mevius.5ch.net/test/read.cgi/tech/1663153441/102
103: デフォルトの名無しさん [sage] 2022/12/07(水) 08:08:54.78 ID:6/SG3KPg >>100 不具合は無さそう >>102 これシンプルでいいね。エスケープ不要だし http://mevius.5ch.net/test/read.cgi/tech/1663153441/103
104: デフォルトの名無しさん [sage] 2022/12/07(水) 14:11:06.83 ID:CzrTyJD4 何でも答えてくれるChatGPTに質問して教えてもらう時代になるかも http://mevius.5ch.net/test/read.cgi/tech/1663153441/104
105: デフォルトの名無しさん [sage] 2022/12/17(土) 08:43:39.74 ID:P7hTh7GB %*を他の変数に入れる方法あります? http://mevius.5ch.net/test/read.cgi/tech/1663153441/105
106: デフォルトの名無しさん [sage] 2022/12/17(土) 13:02:14.02 ID:z3eWXHPR set http://mevius.5ch.net/test/read.cgi/tech/1663153441/106
107: デフォルトの名無しさん [sage] 2022/12/17(土) 13:56:37.78 ID:hGrODwcv >>97 http://mevius.5ch.net/test/read.cgi/tech/1663153441/107
108: デフォルトの名無しさん [sage] 2022/12/18(日) 11:04:55.68 ID:3jhv+1oP batch.cmd を batch.cmd echo ' ^& echo ^" ^& echo ! として実行した場合の %*を他の変数に入れる方法あります? http://mevius.5ch.net/test/read.cgi/tech/1663153441/108
109: デフォルトの名無しさん [sage] 2022/12/18(日) 14:23:46.88 ID:8FmKOvk1 方法は無いよ。たぶん 引数はやめてファイルで渡すか、set /p で入力したら http://mevius.5ch.net/test/read.cgi/tech/1663153441/109
110: デフォルトの名無しさん [sage] 2022/12/19(月) 21:25:44.08 ID:OdY4312I もしかして遅延展開が有効だったら set VAR1=!VAR2! は特殊文字おかまいなしの万能? http://mevius.5ch.net/test/read.cgi/tech/1663153441/110
111: デフォルトの名無しさん [sage] 2022/12/21(水) 21:17:40.11 ID:yR9jaPsy よくわからんけど >>102 でいけるなら setlocal enabledelayedexpansion for /f "delims=" %%i in ("!var1!") do endlocal & set var2=%%i もいけそうで、それなら for /f "tokens=1* delims==" %%i in ('set var1') do if %%i==var1 set var2=%%j でもいけそう http://mevius.5ch.net/test/read.cgi/tech/1663153441/111
112: デフォルトの名無しさん [sage] 2022/12/21(水) 22:08:11.62 ID:DgZmdBnN 上のは値の先頭が ; だと消える eol^= にすればいい 下のは値の先頭が = だとその文字が消える http://mevius.5ch.net/test/read.cgi/tech/1663153441/112
113: デフォルトの名無しさん [sage] 2022/12/21(水) 22:13:22.39 ID:DgZmdBnN set var1 の出力は複数かもしれない http://mevius.5ch.net/test/read.cgi/tech/1663153441/113
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 706 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s