Remove files in a directory



How to remove some specified files from a directory
-------------------------------------------------------------------------------------------------------------------------


Recently i have been put into a task of removing files form a directory.

a file name begin like " 20_ " and end with anything , 20_file1 , 20_file2 , 20_file3. So it needs to be removed from that directory.


Find below program :

1. CREATE
DIRECTORY dmpdir AS 'C:\dir_testing';

( create the direcory)  SELECT * FROM dba_directories WHERE directory_name = 'DMPDIR';

(view info abt tht drectory)


PL/SQL
-----------------------------------------------------------------------------------------------------------
createor replace procedure Terminate_DIRfiles_proc (p_dir_nme IN varchar2,p_search_like IN varchar2 )

AS
v_dir_nme 

varchar2(1024);

v_search_like  varchar2(1024);
v_ls VARCHAR2(1024);

v_val VARCHAR2(1024);

v_dir_path VARCHAR2(1024);

BEGIN

v_dir_nme := p_dir_nme;

v_search_like := p_search_like;

 

SELECT directory_path

INTO v_dir_path

FROM dba_directories

WHERE directory_name = v_dir_nme;

SYS.DBMS_BACKUP_RESTORE.SEARCHFILES(v_dir_path,v_ls);

FOR file_list IN (SELECT FNAME_KRBMSFT AS file_name

FROM X$KRBMSFT

WHERE FNAME_KRBMSFT LIKE '%'|| NVL(v_search_like, FNAME_KRBMSFT)||'%' )

LOOP

v_val := substr(file_list.file_name, INSTR (file_list.file_name,chr(92),-1,1) +1 );

UTL_FILE.FREMOVE (v_dir_nme, v_val);

END LOOP;

End-------------------------------------------------------------------------------------------------------------------------------




Please let me know if any comments or clarifications requried.

-- Raj



;

Comments