HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
1104
らりるれろフォルダのコピー3未解決


らりるれろ

リンク

2018/11/4(Sun) 06:56:16|NO.85771

Movefileなどでフォルダ移動については理解しているのですが、コピーや移動元にフォルダを残して移動
などをするにはどうすればいいでしょうか
copyfileはmoveと違うようですし…



この記事に返信する


ham

リンク

2018/11/4(Sun) 14:01:51|NO.85781

dirlistでファイル一覧を取得してbcopyでファイルをコピーではダメなのですか?
手間を省くことはできないか。という意味でしょうか?



Velgail

リンク

2018/11/4(Sun) 15:23:50|NO.85783

execで"xcopy {元のディレクトリ} {ターゲットのディレクトリ} /I /E /D /C"とかするという手もある。

xcopyの処理内容・オプションについては以下を参考に。
https://www.k-tanaka.net/cmd/xcopy.php



らりるれろ

リンク

2018/11/4(Sun) 16:01:16|NO.85784

おおむね手間省きという認識で間違いないです。
xcopy試そうと思います…が、zip>Unzipで試してみたものができました。


#packopt name "MAKE ZIP"; //プラグイン #include "hspext.as"; #include "kernel32.as"; #uselib "ZIP32J.DLL"; #func Zip "Zip" sptr, sptr, var, sptr; #uselib "unzip32.dll"; #func UnZip "UnZip" nullptr, str, int, int; #module #uselib "shell32" #func global SHFileOperation "SHFileOperationA" int #deffunc deletefolder str _dir sdim pFrom, 260 pFrom = _dir dim SHFILEOPSTRUCT, 8 SHFILEOPSTRUCT.0 = hWnd SHFILEOPSTRUCT.1 = 0x0003 //FO_DELETE SHFILEOPSTRUCT.2 = varptr( pFrom ) SHFILEOPSTRUCT.3 = 0 SHFILEOPSTRUCT.4 = 0x0114 // FOF_SIMPLEPROGRESS | FOF_NOCONFIRMATION SHFileOperation varptr( SHFILEOPSTRUCT ) return stat #global //初期化 sdim startname,1024,100; screen 0,600,600,0,0,0; font "MSゴシック",12,17; //info notesel vc exist "info.txt" if strsize!-1{ noteload "info.txt" noteget b,0 input_path = b noteget b,1 palette_path = b noteget b,2 output_path = b }else{ input_path = dir_cur palette_path = dir_cur output_path = dir_desktop } //info2 notesel p1 dirlist p1,input_path+"/*",0 files=stat sdim okng,4,files+1 sdim filename,1024,files repeat files noteget b,cnt filename(cnt)=b okng(cnt+1)="OK" loop //ver notesel vc exist "ver.txt" if strsize!-1{ noteload "ver.txt" noteget b,0 ver1=int(b) noteget b,1 ver2=int(b)+1 if ver2=10{ver1+1:ver2=0} noteget b,2 ver3=int(b) }else{ ver1=0 ver2=0 ver3=0 } // //入力 repeat stick key //圧縮するフォルダ選択 //封入するファイルチェック //バージョンチェック ;ver1= ;ver2= ;ver3= ver=strf("ver %01.1d.%01.1d.%01.1d",ver1,ver2,ver3) //画面出力 redraw 0 color 0 ,0 ,0 boxf color 0 ,255,0 // pos 10,10 mes ver pos 10,30 mes "入力元:"+input_path mes "出力先:"+output_path // line 0 ,10+12*4,ginfo_sx,10+12*4 line 300,10+12*4,300 ,ginfo_sy // pos 310,20+12*4 mes strf("ALL FILES : %04.4d",files) repeat files if mousex<=310+ginfo_sx & mousex>=310 & mousey>=20+12*(6+cnt) & mousey<=20+12*(7+cnt){ color 255,0 ,0 if key&256{if okng(cnt+1)="NG"{okng(cnt+1)="OK"}else{okng(cnt+1)="NG"}} }else{ color 0 ,255,0 } pos 310,10+12*(7+cnt) mes okng(cnt)+" : "+filename(cnt) loop // if mousex<=ginfo_sx/2 & mousex>=10 & mousey>=20+12*4 & mousey<=20+12*5{ color 255,0 ,0 if key&256{gosub*change} }else{ color 0 ,255,0 } pos 10,20+12*4 mes "chose" // color 64,64,64 boxf 0,ginfo_sy-22,ginfo_sx/2-1,ginfo_sy-10 if mousex<=ginfo_sx/2 & mousex>=10 & mousey>=ginfo_sy-22 & mousey<=ginfo_sy-10{ color 255,0 ,0 if key&256{break} }else{ color 0 ,255,0 } pos 10,ginfo_sy-22 mes "go" // redraw 1 await 0 loop //info notesel vc noteadd input_path ,0,1 noteadd palette_path,1,1 noteadd output_path ,2,1 notesave "info.txt" //ver notesel vc noteadd str(ver1),0,1 noteadd str(ver2),1,1 noteadd str(ver3),2,1 notesave "ver.txt" //パレット作成 fles=files exist ""+dir_cur+"/palette.zip " if strsize!-1{delete ""+dir_cur+"/palette.zip "} sdim get Zip hwnd, "-r palette.zip "+(input_path), get, 1024*1024; UnZip "\""+dir_cur+"/palette.zip\" \""+dir_cur+"\"" gosub*change2 //必要ファイル抽出 screen 0,600,600,0,0,0; font "MSゴシック",10,17; color mes (files) repeat files ;if okng(cnt)="NG"{ mes okng(cnt+1) ; } loop mes //出力 //終了 stop end *change selfolder input_path,"ファイルを選択してください" //info2 notesel p1 dirlist p1,input_path+"/*",0 files=stat sdim okng,4,files+1 sdim filename,1024,files repeat files noteget b,cnt filename(cnt)=b okng(cnt+1)="OK" loop return *change2 //info2 notesel p1 dirlist p1,input_path+"/*",0 files=stat sdim filename,1024,files repeat files noteget b,cnt filename(cnt)=b loop return
zip32.dllとZIP32J.dllが必要です

zipを実行後、変数が軒並み変になってしまって…原因は何でしょうか



ONION software Copyright 1997-2023(c) All rights reserved.