0%

【JavaScript】判斷檔案是否存在

最近用IE判斷某檔案是否存在,路徑分別有以下兩種情況
相對路徑 : %appdata%\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk
絕對路徑 : C:\xxx\xxxx\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk

原本只是單純使用ActiveXObject(‘Scripting.FileSystemObject’)FileExists來判斷該檔案是否存在

在絕對路徑下都很OK,但這個function無法判斷相對路徑,所以必須先做一個轉換為絕對路徑的動作
var objShell = new ActiveXObject(“Wscript.Shell”); 

objShell.ExpandEnvironmentStrings(“%appdata%\Microsoft\Windows\StartMenu\Programs\Accessories\Notepad.lnk”);

再丟給FileExists來判斷檔案是否存在,即大功告成。

全部code

1
2
3
4
5
6
7
8
9
10
11
12
13
var objnav = navigator;
var OsVersion = objnav.appVersion;
var fso = new ActiveXObject('Scripting.FileSystemObject');
var objShell = new ActiveXObject("Wscript.Shell");

strfolderpath = objShell.ExpandEnvironmentStrings("%appdata%\\Microsoft\\Windows\\StartMenu\\Programs\\Accessories\\Notepad.lnk");
if (fso.FileExists(strfolderpath)){
alert('絕對路徑有');
}
else{
alert('絕對路徑沒有');
}