[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
797
(1): 2018/08/26(日)12:04 ID:Kp4FoNKX(1/4) AAS
なんか初歩的やなあ。
遅延展開だから最初にsetlocal enabledelayedexpansion
を書かいて&で繋げて次のコマンドを書ける。ただし%%は%に置き換える必要がある
798
(2): 2018/08/26(日)13:07 ID:ZzrAYlbi(1/2) AAS
やってみればわかるけどコマンドプロンプトで
setlocal enabledelayedexpansionやっても効果ないよ。
cmd /v:onで遅延展開有効にしたコマンドプロンプト起動しないとだめ。
799
(1): 2018/08/26(日)14:01 ID:Kp4FoNKX(2/4) AAS
ああほんとだ。こんな感じにすればいいのね
cmd /v:on
set str=hoge &for /l %a in (0,2,10) do ( set str=!str!%a ) & echo !str!
800: 2018/08/26(日)15:49 ID:/S+ZLweZ(1) AAS
800!

このシリーズも、12まで言っても、新発見があるのね。
前(バッチファイルプログラミング質問スレ )のも含むと、すでに15スレ目か。
801: 2018/08/26(日)18:22 ID:Kp4FoNKX(3/4) AAS
自分はこのスレになってから来たからまだ新参、過去スレ読まなきゃ
802: 2018/08/26(日)19:11 ID:qpELtL6e(1/2) AAS
>>798
> バッチ ファイルでは、SETLOCAL ENABLEEXTENSIONS または DISABLEEXTENSIONS
> 引数は /V:ON または /V:OFF スイッチよりも優先されます。
> 詳細については SETLOCAL /? を参照してください。
じゃない??
cmd /v:on なんて使ったことがない…
803: 2018/08/26(日)19:12 ID:qpELtL6e(2/2) AAS
あ、もしかしてバッチとコマンドプロンプトでは動きが違うってこと??
804: 796 2018/08/26(日)19:26 ID:PFw0pViP(2/2) AAS
>>797-799
ええと、よくわからなくなってきたので自分でもググってみますね。(^_^;)
どうもありがとうございました。
805: 2018/08/26(日)19:58 ID:Kp4FoNKX(4/4) AAS
ググらずにコマンドプロンプト開いて試せばいいんだよ
・遅延展開を使うために事前に cmd /v:on[Enter]する
・バッチのfor文は%%を%1つに置き換えてから貼る。
・do ループの処理は複数行で書けないので、( 処理 & 処理 & 処理 )と書く。(の後と)の前の半角スペースが大事
とりあえずそんなとこ。
806: 2018/08/26(日)21:34 ID:ZzrAYlbi(2/2) AAS
コマンドプロンプトでもdo の後に括弧つけて改行すれば
More?ってプロンプト出て普通に複数行書ける

> for %x in (hoge) do (
More?
807: 2018/08/27(月)01:51 ID:Sgkp88za(1) AAS
SETLOCALに ENABLEEXTENSIONSなどがあったのか、知らなかったなあ

setlocalcのようなものが必要なこと自体cmdの設計ミスなんだけど、ますます複雑化、恥の上塗り路線
808
(1): 2018/08/27(月)06:43 ID:EbTlBfxg(1) AAS
>>795
有難うございます!
809: 2018/08/27(月)07:33 ID:4tgtf9in(1) AAS
>>808
for %%i in (.) do set PARENT_DIR=%%~dpi
810: 2018/08/30(木)08:39 ID:cyhHU1Jz(1/2) AAS
forとか使わなくても…

%cd:\=&set parent=%

って知られてないんかな?
811: 2018/08/30(木)08:40 ID:cyhHU1Jz(2/2) AAS
すまん勘違いした
812: 2018/08/30(木)08:54 ID:eE05Kd4s(1) AAS
for %%i in (..) do set PARENT_DIR=%%~fi
813: 2018/09/11(火)15:07 ID:7Sv68F+V(1/5) AAS
テキストを type でユニコードに変換できるけど
cmd /u /c type sjis.txt > uni.txt
これを逆にシフトjisに戻す方法はありますか?
814: 2018/09/11(火)15:30 ID:7Sv68F+V(2/5) AAS
cmd /a /c more < uni.txt > sjis2.txt
815
(1): 2018/09/11(火)15:30 ID:zUlaXCLj(1) AAS
nkf -s uni,txt > sj.txt
816: 2018/09/11(火)15:32 ID:7Sv68F+V(3/5) AAS
>>815
すみませんでした
自己解決しました
817
(2): 2018/09/11(火)16:55 ID:7Sv68F+V(4/5) AAS
cmd /u /c type s.txt > u.txt
set /p x="??" < nul > bom.txt
copy /b bom.txt + u.txt u2.txt
type u2.txt > s2.txt
comp s.txt s2.txt
818: 2018/09/11(火)21:05 ID:hTiklz9U(1/2) AAS
nkf 推しは死ね。
それはなんでもアリじゃねぇか。
とりあえず、ここは「(デフォでは)全Windows環境で動く」が前提にしろや。

>>817
それが何故上手く動くのかの解説をする義務が君にはあると思う。
「ここのコマンドでSJIS変換が入ってます」くらいの。
819
(1): 2018/09/11(火)21:54 ID:7Sv68F+V(5/5) AAS
上記の2バイトのBOMはユニコードのテキストである印です。
例えばメモ帳で空のユニコードのファイルを作成したらbom.txtと同じになる。
typeコマンドはBOMを参照して入力コードを決定し、
コードページを参照して出力コードを決定する。
820: 2018/09/11(火)23:18 ID:hTiklz9U(2/2) AAS
>>819
ありがとう。。

> typeコマンドはBOMを参照して入力コードを決定し、
type にそんな機能があったのか!という感じ。
821: 2018/09/12(水)08:46 ID:wnqO0p2C(1) AAS
もの凄く泥臭いな
822
(4): 2018/09/12(水)12:32 ID:iSRyeJ5N(1/3) AAS
応用すれば色々と変換できる
ソースが EUC-JP の例

set /p BOM="??" < nul > UTF-16LE.txt
chcp 20932
cmd /u /c type EUC-JP.txt >> UTF-16LE.txt
chcp 65000
type UTF-16LE.txt > UTF-7.txt
chcp 65001
type UTF-16LE.txt > UTF-8.txt
chcp 50222
type UTF-16LE.txt > JIS.txt
chcp 932
type UTF-16LE.txt > SJIS.txt

泥臭いのが好きな人はどうぞ
改行コードは知らんw
823
(2): 2018/09/12(水)21:20 ID:EE8mLPPB(1) AAS
本筋とは関係ないんだが、『2バイトのBOM』のあるレス >>817,822 読み込むと
しばらくしてと JaneStyle(3.75) が落ちる
dat から該当部分『2バイトのBOM』を削除すると問題なくなる
今どき JaneStyle 3.75 使ってる人はほぼ居ないと思うけど参考まで
オマ環だったらゴメンナサイ
824: 2018/09/12(水)22:07 ID:iSRyeJ5N(2/3) AAS
俺の環境は Win10 で
Jane Style Version 4.00
不具合無い
825
(1): 2018/09/12(水)22:49 ID:gLwHpn+Y(1) AAS
>>823
専ブラをバージョンアップしない理由は何?
826
(2): 2018/09/12(水)23:08 ID:alzyNvAF(1) AAS
>>823
3.75でこのスレを串(API)で読み込んで10分ほど放置、その後新着チェックや別スレを見ても別に落ちたりしないんだが
(なお、HTMLで読み込むとBOM部分が削除されちゃったんで意味なし)
1-
あと 176 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.023s