@REM 図形・文字のレイヤ移動
@echo off
goto do%1
REM #jww
REM #cd
rem #hm |1)線指示(L) |2)円指示(R) |3)文字選択|4)属性指定|
rem #:1
rem #mc
REM #zz
REM #zw
REM #h1
REM #hc範囲を選択してください
REM #c移動先レイヤグループ/_/a
REM #c移動先レイヤ/_/b
REM #1ln線を指示してください
rem #c
REM #e
rem #:2
rem #mc
REM #zz
REM #zw
REM #h1
REM #hc範囲を選択してください
REM #c移動先レイヤグループ/_/a
REM #c移動先レイヤ/_/b
REM #1ci円を指示してください
rem #c
REM #e
rem #:3
rem #mc
REM #zz
REM #zw
REM #h3
REM #hc範囲内の文字のみ選択されます。
REM #c移動先レイヤグループ/_/a
REM #c移動先レイヤ/_/b
rem #c
REM #e
rem #:4
rem #mc
REM #zz
REM #zw
REM #h1
REM #hc範囲を選択してください
REM #c移動先レイヤグループ/_/a
REM #c移動先レイヤ/_/b
REM #k属性を指定してください |1)ハッチ(L)|2)図形(R)|3)寸法|4)建具| /_/c
rem #c
REM #e
:do1
copy jwc_temp.txt temp.txt > nul
del jwc_temp.txt
ruby -Ks 図形レイヤ移動.rb temp.txt %2 %3 > jwc_temp.txt
goto end
:do2
copy jwc_temp.txt temp.txt > nul
del jwc_temp.txt
ruby -Ks 図形レイヤ移動.rb temp.txt %2 %3 > jwc_temp.txt
goto end
:do3
copy jwc_temp.txt temp.txt > nul
del jwc_temp.txt
ruby -Ks 図形レイヤ移動3.rb temp.txt %2 %3 > jwc_temp.txt
goto end
:do4
copy jwc_temp.txt temp.txt > nul
del jwc_temp.txt
ruby -Ks 図形レイヤ移動2.rb temp.txt %2 %3 %4 > jwc_temp.txt
goto end
:end
◎スクリプトファイル(図形レイヤ移動.rb)
BEGIN{
puts"hd"
while ARGV.length > 1
case argument=ARGV.pop
when /\/a/
$lg="lg"+argument[2..-1]
when /\/b/
$ly="ly"+argument[2..-1]
end
end
}
open("temp.txt","r"){|f|
while line=f.gets
xy =line.split
if xy[0]=~/^lc/
lc=xy[0]
end
if xy[0]=~/^lt/
lt=xy[0]
end
if xy[0]=~/^hhp1/
$hhplc=lc;$hhplt=lt
end
end
}
def main
date=[]
while ARGF.gets
xy =split
if xy[0]=~/^hq/
elsif xy[0]=~/^lg/
lg=xy[0];print $_
elsif xy[0]=~/^ly/
ly=xy[0];print $_
elsif xy[0]=~/^lc/
lc=xy[0];print $_
elsif xy[0]=~/^lt/
lt=xy[0];print $_
elsif xy[0]=~/^pn/
pn=xy[0];print $_
elsif xy[0]=~/^z/
zno=ARGF.lineno;z=xy[0]
elsif xy[0]=~/^[0-9]/ or xy[0]=~/^-/
lnno=ARGF.lineno;lnlc=lc;lnlt=lt
if lnlc==$hhplc && lnlt==$hhplt
if zno==lnno-1
date<< z;date<< $_.chop
else
date<< $_.chop
end
else
if zno==lnno-1
puts z;print $_
else
print $_
end
end
elsif xy[0]=~/^ci/
cino=ARGF.lineno
if lc==$hhplc && lt==$hhplt
if zno==cino-1
date<< z;date<< $_.chop
else
date<< $_.chop
end
else
if zno==cino-1
puts z;print $_
else
print $_
end
end
elsif xy[0]=~/^pt/
ptno=ARGF.lineno
if pn[2,1]==$hhplc[2,1]
if zno==ptno-1
date<< pn;date<< z;date<< $_.chop
else
date<< pn;date<< $_.chop
end
else
if zno==ptno-1
puts z;print $_
else
print $_
end
print $_
end
elsif xy[0]=~/^ch/ or xy[0]=~/^cs/
chno=ARGF.lineno
if zno==chno-1
puts z;print $_
else
print $_
end
else
print $_
end
end
puts $lg;puts $ly;puts $hhplc;puts $hhplt
date.each{|item|puts item}
end
main()
◎スクリプトファイル(図形レイヤ移動2.rb)
BEGIN{
puts"hd"
while ARGV.length > 1
case argument=ARGV.pop
when /\/a/
$lg="lg"+argument[2..-1]
when /\/b/
$ly="ly"+argument[2..-1]
when /\/c/
$z="z"+argument[2..-1]
end
end
}
def main
date=[]
while ARGF.gets
xy =split
if xy[0]=~/^hq/
elsif xy[0]=~/^lg/
lg=xy[0];print $_
elsif xy[0]=~/^ly/
ly=xy[0];print $_
elsif xy[0]=~/^lc/
lc=xy[0];print $_
elsif xy[0]=~/^lt/
lt=xy[0];print $_
elsif xy[0]=~/^pn/
pn=xy[0];print $_
elsif xy[0]=~/^z/
zno=ARGF.lineno;z=xy[0]
elsif xy[0]=~/^[0-9]/ or xy[0]=~/^-/
lnno=ARGF.lineno;lnlc=lc;lnlt=lt
if z==$z
if zno==lnno-1
date<< lc;date<< lt;date<< z
date<< $_.chop
else
print $_
end
else
if zno==lnno-1
puts z;print $_
else
print $_
end
end
elsif xy[0]=~/^ci/
cino=ARGF.lineno
if z==$z
if zno==cino-1
date<< lc;date<< lt;date<< z
date<< $_.chop
else
print $_
end
else
if zno==cino-1
puts z;print $_
else
print $_
end
end
elsif xy[0]=~/^pt/
ptno=ARGF.lineno
if z==$z
if zno==ptno-1
date<< pn;date<< z;date<< $_.chop
else
print $_
end
else
if zno==ptno-1
puts z;print $_
else
print $_
end
end
elsif xy[0]=~/^ch/ or xy[0]=~/^cs/
chno=ARGF.lineno
if z==$z
if zno==chno-1
date<< z;date<< $_.chop
else
print $_
end
else
if zno==chno-1
puts z;print $_
else
print $_
end
end
else
print $_
end
end
puts $lg;puts $ly
date.each{|item|puts item}
end
main()
BEGIN{
puts"hd"
while ARGV.length > 1
case argument=ARGV.pop
when /\/a/
$lg="lg"+argument[2..-1]
when /\/b/
$ly="ly"+argument[2..-1]
when /\/c/
$z="z"+argument[2..-1]
end
end
}
def main
date=[]
while ARGF.gets
xy =split
if xy[0]=~/^hq/
elsif xy[0]=~/^lg/
lg=xy[0];print $_
elsif xy[0]=~/^ly/
ly=xy[0];print $_
elsif xy[0]=~/^lc/
lc=xy[0];print $_
elsif xy[0]=~/^lt/
lt=xy[0];print $_
elsif xy[0]=~/^pn/
pn=xy[0];print $_
elsif xy[0]=~/^cn/ && xy[0]=~/[0-9]$/
cn=$_.chop
elsif xy[0]=~/^cn\"/
cnf=$_.chop
elsif xy[0]=~/^z/
zno=ARGF.lineno;z=xy[0]
elsif xy[0]=~/^[0-9]/ or xy[0]=~/^-/
lnno=ARGF.lineno;lnlc=lc;lnlt=lt
if z==$z
if zno==lnno-1
date<< lc;date<< lt;date<< z
date<< $_.chop
else
print $_
end
else
if zno==lnno-1
puts z;print $_
else
print $_
end
end
elsif xy[0]=~/^ci/
cino=ARGF.lineno
if z==$z
if zno==cino-1
date<< lc;date<< lt;date<< z
date<< $_.chop
else
print $_
end
else
if zno==cino-1
puts z;print $_
else
print $_
end
end
elsif xy[0]=~/^pt/
ptno=ARGF.lineno
if z==$z
if zno==ptno-1
date<< pn;date<< z;date<< $_.chop
else
print $_
end
else
if zno==ptno-1
puts z;print $_
else
print $_
end
end
elsif xy[0]=~/^ch/ or xy[0]=~/^cs/
chno=ARGF.lineno
if z==$z
if zno==chno-1
date<< cn;date<< cnf
date<< z;date<< $_.chop
else
puts cn;puts cnf
print $_
end
else
if zno==chno-1
puts cn;puts cnf
puts z;print $_
else
puts cn;puts cnf
print $_
end
end
else
print $_
end
end
puts $lg;puts $ly
date.each{|item|puts item}
end
main()