[過去ログ]
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489207631/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
481: デフォルトの名無しさん [sage] 2018/04/21(土) 18:30:43.44 ID:9o1T2SLn >>480 <tab>はTABコードだと判断したが、もし単なる文字列ならその部分は修正してくれ @echo off setlocal EnableDelayedExpansion type nul>out.txt for /f "delims=N" %%I in ('cmd /u /c echo 三') do set TAB=%%I set n=0 for /f "tokens=* delims=" %%i in (in.txt) do ( set d!n!=%%i set /a n+=1 if !n! geq 3 set n=0&echo.!d0!%TAB%!d2!>>out.txt ) endlocal http://mevius.5ch.net/test/read.cgi/tech/1489207631/481
482: デフォルトの名無しさん [sage] 2018/04/21(土) 20:19:07.52 ID:kVqs7sc1 下手にバッチでやるよりエディタ等で \ncount\nをtabに一発置換するだけのような http://mevius.5ch.net/test/read.cgi/tech/1489207631/482
483: デフォルトの名無しさん [sage] 2018/04/21(土) 20:38:40.63 ID:6+H6buOa >'cmd /u /c echo 三' ナニコレ http://mevius.5ch.net/test/read.cgi/tech/1489207631/483
484: デフォルトの名無しさん [sage] 2018/04/21(土) 21:33:42.67 ID:x8Crqpim >>481 これでできました でも難しくて意味が分からないけど >>482 秀丸でやったらできました これは楽ですね お二人ともありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1489207631/484
485: デフォルトの名無しさん [sage] 2018/04/21(土) 21:41:42.48 ID:9o1T2SLn >>483 今まで何度か出てたはずだけど覚えてないかな? 漢字の三は、SJISでは8E4Fだが、Unicodeでは、U+4E09 英字Nは、ASCII(SJIS)で、4E HT(水平タブ)文字は、ASCII(SJIS)で、09 http://mevius.5ch.net/test/read.cgi/tech/1489207631/485
486: デフォルトの名無しさん [sage] 2018/04/22(日) 03:16:01.56 ID:HWr0EbfP >>481は3行1セットを大前提として1行目+タブ+3行目で1行として出力するバッチやね 中身が何かっての全く確認しないから変な行あったら以後盛大に誤爆する http://mevius.5ch.net/test/read.cgi/tech/1489207631/486
487: デフォルトの名無しさん [sage] 2018/04/22(日) 06:56:22.77 ID:Lev+VBnm @echo off type nul>out.txt setlocal enabledelayedexpansion set n=0 for /f "delims=" %%i in (in.txt) do ( set "d!n!=%%i" & set /a "n=(n+1)%%3" if !n! equ 2 if not "%%i"=="count" echo.!d0!>>out.txt&set n=1& set "d0=%%i" if !n! equ 0 echo.!d0! !d2!>>out.txt ) !d0!と!d2!の間は普通にtab入力 http://mevius.5ch.net/test/read.cgi/tech/1489207631/487
488: デフォルトの名無しさん [sage] 2018/04/22(日) 07:14:11.56 ID:H/AU6k7y だからなに? http://mevius.5ch.net/test/read.cgi/tech/1489207631/488
489: デフォルトの名無しさん [sage] 2018/04/22(日) 19:58:53.86 ID:Ai4JHVEf バッチは不特定多数に提供するんでなければ、やっつけでいいんだよ 取り合えず用が足せればいい ああいう場合にどうだとか余計なことはそういう場面に遭遇してから対処すればいい まあ違う考えを持ってる人もいるだろうから俺の考えではと限定しての意見だが http://mevius.5ch.net/test/read.cgi/tech/1489207631/489
490: デフォルトの名無しさん [sage] 2018/04/22(日) 21:50:25.52 ID:Lev+VBnm >>487もやっつけだよ 不具合だらけ http://mevius.5ch.net/test/read.cgi/tech/1489207631/490
491: デフォルトの名無しさん [sage] 2018/04/23(月) 00:48:13.86 ID:+coOi68A 元となったデータを見てると、何かのプログラムで出力した結果のようだから イレギュラーなデータはそもそもあり得ないのかもしれない それをイレギュラーなデータがあったらと考えていろいろ対処するのどんなもんなのかな http://mevius.5ch.net/test/read.cgi/tech/1489207631/491
492: デフォルトの名無しさん [sage] 2018/04/23(月) 01:49:13.44 ID:+coOi68A あと、>>486は、こういう処理をしているんだからそれを念頭においてねってことだけで、 何もその点を修正しろとか言ってないわけよ >>486も、何をしてるのか分かっていて使う分にはそれで良いと思ってるんじゃないのかな http://mevius.5ch.net/test/read.cgi/tech/1489207631/492
493: 486 [sage] 2018/04/23(月) 16:55:05.27 ID:75V+260b >>484が > でも難しくて意味が分からないけど こんな事言ってるから何してるのか書いただけよ それ以外の意味は無い http://mevius.5ch.net/test/read.cgi/tech/1489207631/493
494: デフォルトの名無しさん [sage] 2018/04/26(木) 21:33:25.10 ID:iUADfoHj バッチファイルを直接ダブルクリックした時は処理の最後にpauseをかける(=コマンドプロンプトウインドウを 閉じずにホールドする)条件にして、コマンドプロンプトから呼び出された場合はpauseはかけずに処理を 終了するという実装をしたいんですが、いい方法ありますか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/494
495: デフォルトの名無しさん [sage] 2018/04/26(木) 21:43:36.77 ID:g7ZPMx3V >>494 引数で処理を分けるか、pause有無でバッチファイルそのものを分ける。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/495
496: デフォルトの名無しさん [sage] 2018/04/26(木) 21:50:58.00 ID:5PgkCptO 適当でいいなら%CMDCMDLINE% http://mevius.5ch.net/test/read.cgi/tech/1489207631/496
497: デフォルトの名無しさん [sage] 2018/04/26(木) 21:57:48.38 ID:vlAm5Lzz %0 参照して分岐すれば? echo %0 pause http://mevius.5ch.net/test/read.cgi/tech/1489207631/497
498: デフォルトの名無しさん [sage] 2018/04/26(木) 22:30:55.90 ID:iUADfoHj レスありがとうございます>各位 すいませんダブルクリックと書いたのでミスリードになってしまったのですが、実際にはD&Dで引数も使用します。 なので>>496の環境変数参照して/Cオプション実行しているかどうかで分岐しようと思います。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/498
499: デフォルトの名無しさん [] 2018/04/27(金) 01:23:21.22 ID:XIoO9rX1 ログファイルで確認するようにすればいいのに。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/499
500: デフォルトの名無しさん [sage] 2018/04/27(金) 19:57:13.14 ID:CQ9eqs6l え? http://mevius.5ch.net/test/read.cgi/tech/1489207631/500
501: デフォルトの名無しさん [sage] 2018/05/01(火) 06:45:44.95 ID:aXoGd7xG 64桁の10進数を16進数に変換する方法、探したけど見つからなくて バッチファイルだけでやるのは無理があるでしょうか。 javascriptでなら巨大な桁数いけるサイトはあったのですが バッチファイル内で大量に処理したいのです。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/501
502: デフォルトの名無しさん [] 2018/05/01(火) 08:40:01.76 ID:04a9c6T+ ネットワークカードに複数IPアドレスをバッチファイルで当てる方法教えてください。 netsh interface ipv4 set add name="ローカル エリア接続" static addr1="192.168.15.35" このあと 192.168.1.35も割り当てたい、よろしくお願いいたします。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/502
503: デフォルトの名無しさん [] 2018/05/01(火) 08:45:13.16 ID:04a9c6T+ 自己解決 netsh interface ip add address name="ローカル エリア接続" addr=192.168.1.35 mask=255.255.255.0 http://mevius.5ch.net/test/read.cgi/tech/1489207631/503
504: デフォルトの名無しさん [sage] 2018/05/01(火) 17:14:01.70 ID:cVB2iu29 >>501 取り敢えず、これでやったらどう? https://technet.microsoft.com/ja-jp/sysinternals/hex2dec http://mevius.5ch.net/test/read.cgi/tech/1489207631/504
505: デフォルトの名無しさん [sage] 2018/05/01(火) 23:59:01.96 ID:7h2ZqymN >>501 普通の手段だと無理だと思う。 1. 整数演算はOSのbit数の上限までしかできない 2. 文字列として変換するにしても255⇒0xFFが限界 …。 3. そもそも符号無し16進??有りの16進?? http://mevius.5ch.net/test/read.cgi/tech/1489207631/505
506: デフォルトの名無しさん [sage] 2018/05/02(水) 00:09:36.26 ID:bQsnMWtx >>501 ほぼ無理 自転車で崖を上がりたいというようなもの あきらめて、これを機に何かの言語を覚えるといろいろな場面で一生使える 一番簡単なのはinstall不要なgawk http://mevius.5ch.net/test/read.cgi/tech/1489207631/506
507: 505 [sage] 2018/05/02(水) 00:34:38.73 ID:69djG7nz 訂正。64bit環境でも調べたけど、最大2147483647(符号付32bitのMAX)だった。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/507
508: デフォルトの名無しさん [sage] 2018/05/02(水) 02:01:56.61 ID:z5LQTSUi >>504-507 ありがとうございます。hex2decは試行済でした。 1234567890000987654321000000 を渡すと 7766001854005038656 = 0x6BC6618A48FECE40 このように崩れます。 やはり無理がありますか。。。 gawkはlinuxのようですね。windowsで実現する方法を求めていました。 バッチファイルでは出来そうにないのでWSH JScriptあたりを探してみたりしていました。 他手段を探してみたいと思います。ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/508
509: デフォルトの名無しさん [sage] 2018/05/02(水) 03:07:32.00 ID:KFhIKBMV batでも出来るんだけど、実用な時間で出来るかと言われると何ともねえ @echo off setlocal set hex=0123456789ABCDEF set in=1234567890 set out= set bin= :loop call :div2 in s set bin=%s%%bin% if defined in goto :loop :loop2 set h=000%bin:~-4% set /a h=("%h:~-4,1%<<3")+("%h:~-3,1%<<2")+("%h:~-2,1%<<1")+%h:~-1% set bin=%bin:~0,-4% call set out=%%hex:~%h%,1%%%out% if defined bin goto :loop2 echo.0x%out% endlocal goto :eof :div2 set dst= set s=0 :divloop set d=%in:~0,1% set in=%in:~1% set /a s=s*10+d set /a h="s>>1" set /a s%%=2 if defined dst (set dst=%dst%%h%) else if %h% gtr 0 set dst=%dst%%h% if not defined in set in=%dst%&goto :eof goto :divloop http://mevius.5ch.net/test/read.cgi/tech/1489207631/509
510: デフォルトの名無しさん [sage] 2018/05/02(水) 03:13:02.96 ID:q7DG1Lgj 生きている間に終わらないってこと? http://mevius.5ch.net/test/read.cgi/tech/1489207631/510
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 492 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s