//--- script çalıştığında giriş parametrelerinin penceresini göster #property script_show_inputs //--- giriş parametreleri input ulong InpThresholdSize=20; // kilobayt bazında dosya boyutu input string InpBigFolderName="big"; // büyük dosyalar için klasör input string InpSmallFolderName="small"; // küçük dosyalar için klasör //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string file_name; // isimleri depolamak için bir değişken string filter="*.csv"; // dosyaların aranması için filtre ulong file_size=0; // bayt bazında dosya büyüklüğü int size=0; // dosyaların sayısı //--- çalışacağımız dosyanın adresini çıktıla PrintFormat("%s\\Files\\ klasöründe çalışılıyor",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); //--- arama işleyicisini, tüm terminallerin ortak kök klasöründe al long search_handle=FileFindFirst(filter,file_name,FILE_COMMON); //--- FileFindFirst() fonksiyonu başarıyla uygulanmış mı kontrol et if(search_handle!=INVALID_HANDLE) { //--- dosyaları boyutlarına göre döngü içinde taşı do { //--- dosyayı aç ResetLastError(); int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON); if(file_handle!=INVALID_HANDLE) { //--- dosya boyutunu al file_size=FileSize(file_handle); //--- dosyayı kapa FileClose(file_handle); } else { PrintFormat("%s dosyası açılamadı, Hata kodu = %d",file_name,GetLastError()); continue; } //--- dosya boyutunu çıktıla PrintFormat("%s dosyasının boyutu %d bayttır",file_name,file_size); //--- dosyanın taşınacağı hedef adresi tanımla string path; if(file_size>InpThresholdSize*1024) path=InpBigFolderName+"//"+file_name; else path=InpSmallFolderName+"//"+file_name; //--- dosyayı taşı ResetLastError(); if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON)) PrintFormat("%s dosyası taşındı",file_name); else PrintFormat("Hata, kod = %d",GetLastError()); } while(FileFindNext(search_handle,file_name)); //--- arama işleyicisini kapa FileFindClose(search_handle); } else Print("Dosyalar bulunamadı!"); } |