ちょっとお邪魔します。m(__)m
文太 wrote: 06/10/1, #754
「ディレクトリ構造のコピー」
うーん、10年以上前の課題。
>タイトルのとおりの「ディレクトリ構造のコピー」って、どうすれば
>出来ますでしょうか。バッチ技で構わないのですが、お知恵を拝借で
>きませんでしょうか。
大変に古い話で恐縮なのですが、ついに課題を解決しました。
dos用のフリーソフトにdirlist.exeというのがあったのだけど、あれは
特殊なdirコマンドでした。で、dirlist.exe by Toshikiは、dosでは動かん、
というので、方法を模索しておりました。
できました! 単純。
--- dirr.sed ---
# directory構造をコピーする。前準備。空フォルダ作製。
# dir /s /ad | oldsed -f dirr.sed >c:\k.bat
# 以下では、C:\ -> E:\ を想定。
# 「ディレクトリは」の部分は、DOS version依存。
# モバでは、"directory of"だったと思う(英語 DOS)。
/^ディレクトリは/{
s/^[^ ]+ \(.+\)$/Md \1/
s/C:\\/E:\\/p
d
}
d
----------------
--- dir2.sed ---
# directory構造をコピーする。(要 zcopy, logos版sed)
# dir /s /ad | lsed -f dir2.sed >c:\k2.bat
# 以下では、C:\ -> E:\ を想定。
# 実は、小さなオチがあって、Zcopyはdestinationにそのディレクトリ
# (フォルダ)がないと、作ってコピーしてくれるのです!
# だから、dirr.sedとdir2.sedの関係がどうなるのかについてはこれから
# 考えます。あ、e:\ はラムドライブなんです。積極的に使いたい。
/^ディレクトリは/{
s/^[^ ]+ \(.+\)$/Zcopy \1 \1/
s/C:\\/E:\\/2p
d
}
d
----------------
なんでこんなことがしたいかというと、母艦というかそこが中心という
マシンとディレクトリ構成を同じすると、>zcopy /s *.* みたいなので
別マシンでも、ファイルの同期が全部これで足りるのです。
ただし、Windowsマシンのルートで上のスクリプトを使うと、全部出して
くれてしまいますので(それなりの使い道ある?)、ちょっと工夫したほうがいい
のかもしれません。3分くらいかかったかな?
それでも僕は、Win7, Win10のマシンで、NEC98時代からのそのままのファイル
配置をしているもので、ルートに個人フォルダがけっこうあるのですよねぇ。
ディレクトリを深く掘ると面倒で、、、。c:\bin, c:\atok8, c:\def, c:\vz とか。
※誰にも通じない独り言。これ、発想、bll2.comと同じじゃん。同じところを
ぐるぐる、ぐるぐる、回ってますねぇ。人生は、無限ループ。しかし、ループの輪は
ちゃんと大きくなる。きちんと人は成長できる。
|