windows下檔案存放最佳化
在windows下,一個路徑下面的檔案或者資料夾個數應該不宜超過1000個,太多的話對系統效能有影響。
在彩鈴閘道器中,鈴音檔案的存放是根據鈴音檔案的所屬的類別根據一個計算公式計算出來的,這就意味著一個路徑下面可能會有非常多的檔案,儘管程式訪問的時候是透過ftp來獲取鈴音檔案的,但是仍然有問題,就是在ftp之前要去查詢鈴音檔案所屬的分類,然後根據公式計算ftp上的存放路徑,這樣子就對資料庫的壓力較大,所以從各方面效能考慮,改成根據鈴音檔名進行分路徑存放,這樣子相對簡單,所以寫如下perl程式進行轉換。
[@more@]#!C:/Perl/bin/perl.exe -w
# name:adjust.pl
# func:將0~23路徑下的鈴音調整為根據12位鈴音id 4-3-3-2路徑下存放。
# author:
# 補充說明:放在鈴音ftp伺服器根路徑下,執行,最後生成新的路徑和檔案,原來的0~23路徑可以刪除或者備份,
# 做的時候需要考慮空間是否夠用,因為這樣子是double了鈴音檔案,所以空間佔用是原來的兩倍。
use strict;
use warnings;
use File::Path;
use File::Basename;
use File::Spec::Win32;
use File::Find;
use File::Copy;
use Cwd;
my $target=getcwd;
sub wanted{
if (-f $File::Find::name){
if ($File::Find::name=~/wav/){
my $FirstDir=$target."/".substr($_,0,4);
my $SecondDir=$FirstDir."/".substr($_,4,3);
my $ThirdDir=$SecondDir."/".substr($_,7,3);
my $FourthDir=$ThirdDir."/".substr($_,10,2);
if(! -e $FirstDir){
mkdir $FirstDir||die("error1");;
}
if (! -e $SecondDir){
mkdir $SecondDir||die("error2");;
}
if (! -e $ThirdDir){
mkdir $ThirdDir||die("error3");;
}
if (! -e $FourthDir){
mkdir $FourthDir||die("error4");;
}
my $filename=$_;
copy($File::Find::name,$FourthDir."/".$filename);
}
}
}
my @dirs=(0..23);
for my $dir(@dirs){
if (-e "$target/$dir"){
find(&wanted,"$target/$dir");
}
else{
print "$target/$dir does not existn";
}
}
print "it is ok now.n";
exit;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/47869/viewspace-830958/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檔案存放問題
- Web前端——檔案存放位置規範Web前端
- Yii自定義配置檔案存放方法
- SQL Server 中資料庫檔案的存放方式,檔案和檔案組SQLServer資料庫
- windows下檔案系統支援的檔案大小Windows
- windows 下刪除.svn檔案Windows
- windows 下編譯c檔案Windows編譯
- php.ini 檔案存放位置不對?PHP
- windows下如何開啟.ipynb檔案Windows
- windows mobile下的檔案路徑Windows
- 下載 Windows 光碟映像(ISO 檔案)Windows
- 更改MySQL資料檔案存放目錄位置MySql
- 【Docker】Windows將docker下載的映象存放到其他盤DockerWindows
- Windows 2000頁面檔案的最佳化(轉)Windows
- linux下使用windows標頭檔案LinuxWindows
- windows下刪除過期的檔案Windows
- 下載 Windows Server 光碟映像(ISO 檔案)WindowsServer
- windows下ftp定時執行批次下載檔案,windows下ftp定時執行批次下載檔案的一種方法WindowsFTP
- 修改Oracle資料檔名及資料檔案存放路徑Oracle
- windows XP下丟失hal.dll檔案?Windows
- 請教windows下引數檔案的位置Windows
- windows 下 檔案內容清理且不刪除-拾億Windows
- Git在windows下上傳檔案至github流程WindowsGithub
- Windows10下pip的配置檔案設定Windows
- linux如何掛載windows下的共享檔案LinuxWindows
- 在WINDOWS下使用xcopy遠端複製檔案Windows
- Windows下批次刪除N天前的檔案Windows
- 在WINDOWS下刪除幾天前的檔案Windows
- win10系統下Windows Defender病毒隔離區存放在哪Win10Windows
- WINDOWS下對NIGNX日誌檔案進行限制Windows
- windows下擴充套件yaf,並生成yaf框架檔案Windows套件框架
- Windows10系統下怎麼播放CSF檔案Windows
- 解讀Windows更新下載器檔案列表(推薦)Windows
- Windows環境下無縫切換Listener log檔案Windows
- Windows 下使用檔案模擬磁碟配置ASM磁碟組WindowsASM
- win7系統如何禁止在桌面上存放檔案Win7
- oracle之 資料泵dump檔案存放nfs報ORA-27054OracleNFS
- oracleasm configure -i 對應的配置檔案的存放位置OracleASM