- 【.cmd】 バッチファイルスクリプト %10 【.bat】
856 :デフォルトの名無しさん[sage]:2014/11/14(金) 03:39:01.31 ID:ptj087p2 - 結局質問者のUTF-8使用時に色を変えたいってのは
どういう意味だったん?
|
- 【.cmd】 バッチファイルスクリプト %10 【.bat】
858 :デフォルトの名無しさん[sage]:2014/11/14(金) 05:37:24.74 ID:ptj087p2 - フォントを先に変えておいて、chcp 65001で
typeコマンドでutf-8ファイルを表示することは出来るけど クリップボード経由で貼り付けると表示が崩れるし、 IMEも起動出来ないのはまあ良いとして、 batが動かないのはどうしてだろう?
|
- 【.cmd】 バッチファイルスクリプト %10 【.bat】
860 :デフォルトの名無しさん[sage]:2014/11/14(金) 13:47:40.71 ID:ptj087p2 - >>859
bat自体はSJISなのでBOMは当然なしです XPだとchcp65001の間は,batファイルが読めないみたい ただし、bat中でchcp65001とchcp932の間に命令を挟んで全体を()で括ってやれば コマンドインタープリタが1行で読み込むので実行することはできるが XPではchcpでclsされるのでpauseとかで止めないと表示が見えない またbatファイルもSJIS以外はダメなので、UTF16やUTF8で作れない cmd/u環境でもbatはSJISじゃないとダメだった Vista以降(多分)で上記のようなバグは修正されている模様 で、結局はUTF8を扱うのはWSHに頼るのが良いという結論に達した ただし、WSHでUTF16やUTF8ファイルを読み込むにはBOM付きじゃないといけない WSHはUTF16で動作しているのでUNICODEにのみある文字もコンソール表示可能 でも標準入出力やパイプやパラメタでのデータ渡しでUNICODE文字は?に変換される 次に、WSHのサンプルをあげとく
|
- 【.cmd】 バッチファイルスクリプト %10 【.bat】
861 :デフォルトの名無しさん[sage]:2014/11/14(金) 13:58:33.90 ID:ptj087p2 - @if (0)==(0) echo off
rem for /f %%i in ('cscript //nologo //e:jscript "%~f0" "read" "utf8.txt"') do echo.%%i cscript //nologo //e:jscript "%~f0" "read" "utf8.txt" type "utf16.txt"|cscript //nologo //e:jscript "%~f0" "write" "xxx.txt" echo 追加データだよ|cscript //nologo //e:jscript "%~f0" "append" "xxx.txt" goto :eof @end var args=WScript.Arguments; if(args.length<2) WScript.Quit(-1); var cmd=args(0), filename=args(1);s=''; switch(cmd) { case 'read': var strm = new ActiveXObject("ADODB.Stream"); strm.Type=2; strm.Charset="utf-8"; strm.Open(); strm.LoadFromFile(filename); s=strm.ReadText(); WScript.Echo(s); break; case 'append': case 'write': var strm = new ActiveXObject("ADODB.Stream"); strm.Type=2; strm.Charset='utf-8'; strm.LineSeparator=10; //-1:CDLF 13:CR 10:LF strm.Open(); if(cmd=='append') {strm.LoadFromFile(filename);strm.Position=strm.size;} while (!WScript.StdIn.AtEndOfLine) strm.WriteText(WScript.StdIn.ReadLine(),1); strm.SaveToFile(filename , 2); } strm.Close(); strm=null; WScript.Quit(0);
|
- Regular Expression(正規表現) Part13©2ch.net
47 :デフォルトの名無しさん[sage]:2014/11/14(金) 22:33:50.86 ID:ptj087p2 - 任意の1文字にマッチは普通[\s\S]って書かないか?
|