2008年5月7日水曜日

[code][script] uwsc: ドラッグドロップしたファイルを日付時刻付きのフォルダにバックアップする

[code][script] uwsc: ドラッグドロップしたファイルを日付時刻付きのフォルダにバックアップする
2008/5/10(土) 午後 11:53
uwsc ソフトウェア
山本幸一作氏のフリーソフト
drop on script(http://homepage3.nifty.com/yamakox/DropOnScript/index.html)
を使用すると、uwscにdrag&dropの機能が加わり、ファイルを選択、uwsスクリプトにdrag&dropして指定の作業をさせることが可能になります。
これを使用して、uwsファイルにdrag&dropするだけでファイルのバックアップを作るスクリプトを作成します。
UWSCにDrop on scriptの導入する方法はいりやっく氏のHPの以下のURLを参照してください。
http://iriyak.adam.ne.jp/wiliki/uwsc.cgi?UWSC%3a%a5%c9%a5%e9%a5%c3%a5%b0%a1%f5%a5%c9%a5%ed%a5%c3%a5%d7
(私の場合、なぜか最初にインストールした時はうまくいかず、一度アンインストールして再インストールしたら正常に動作しました。原因は不明です)
黄色表示部分のスクリプトをコピーして、新規テキストにペースト、bkup.uwsという名前で保存してください
●使い方その1
複数のファイルを選択してbkup.uwsファイルにdrag&dropすると、元ファイルがあるフォルダに「xxxx年xx月xx日 xx時xx分」というフォルダが作られ、その中にdrag&dropしたファイルのコピーが作成されます。
●使い方その2
決まったフォルダのバックアップを定期的に取りたい場合、
内容が
bkup2.uwsのソースコードをコピペしてbkup2.uwsを作成しbkup.uwsと同じフォルダに置きます。
ソースコードの(バックアップしたいフォルダのフルパス)の部分を書き換えます(" " は消さない)
bkup2.uwsをuwsファイルのスケジューラーで定期的に実行するよう設定します
(バックアップの間隔は自由)
指定したフォルダのコピーが作成され、フォルダ名+xxxx年xx月xx日 xx時xx分という名前がつけられます。

drop on script
http://homepage3.nifty.com/yamakox/DropOnScript/index.html

いりやっく
http://iriyak.adam.ne.jp/wiliki/uwsc.cgi?UWSC%3a%a5%c9%a5%e9%a5%c3%a5%b0%a1%f5%a5%c9%a5%ed%a5%c3%a5%d7

uwscスクリプトのブログ
https://blogs.yahoo.co.jp/uwsc_script/

UWSC
http://www.h7.dion.ne.jp/




bkup.uws
public dim    FSO = CreateOLEObj("Scripting.FileSystemObject")
count=resize(PARAM_STR)
if count=0 then exitexit
gettime(0,0)
str=G_TIME_YY4+"年"+G_TIME_MM2+"月"+G_TIME_DD2+"日 "+G_TIME_HH2+"時"+G_TIME_NN2+"分"
print str
ifb count=1 and  isfolder(PARAM_STR[0])=true
  bkname=afterLastYen(afterLastYen(PARAM_STR[0]))+" "+str
  FSO.getfolder(PARAM_STR[0]).copy(bkname)
  exitexit
endif
dir=beforeLastyen(PARAM_STR[0])
gettime(0,0)
bkfolder=dir+"\"+str

makedir2(dir,str)
for i=1 to count
  file=PARAM_STR[i-1]
  print file+"をコピー中です"
  ifb  isfolder(file)=0 then
    FSO.getfile(file).copy(bkfolder+"\")
  else
    FSO.getfolder(file).copy(bkfolder+"\")
  endif
next
function beforeLastYen(str)
  result=beforeLastN(str,"\")
fend
function afterLastYen(str)
  result=afterLastN(str,"\")
fend
function afterLastN(str,kigou)
  result=copy(str,pos(kigou,str,-1)+1,length(str))
fend
function beforeLastN(str,kigou)
  result=copy(str,1,pos(kigou,str,-1)-1)
fend
procedure makedir2(dir,name)
  print dir
  print FSO.getfolder(dir).ShortName
  print FSO.getfolder(dir).ShortPath
  shortdir=FSO.getfolder(dir).ShortPath
  doscmd("md "+shortdir+"\newfolder\")
  FSO.getfolder(dir+"\newfolder").name=name
fend
function Isfolder(file)
  ifb pos(".",afterLastYen(file))=0 then
    result=true
  else
    result=false
  endif
fend
bkup2.uws
call bkup.uws("バックアップしたいフォルダのフルパス")

drop on script
http://homepage3.nifty.com/yamakox/DropOnScript/index.html)

いりやっく氏
http://iriyak.adam.ne.jp/wiliki/uwsc.cgi?UWSC%3a%a5%c9%a5%e9%a5%c3%a5%b0%a1%f5%a5%c9%a5%ed%a5%c3%a5%d7

uwscスクリプトのブログ
https://blogs.yahoo.co.jp/uwsc_script/

UWSC
http://www.h7.dion.ne.jp/



0 件のコメント:

コメントを投稿