T O P I C R E V I E W |
Carefree |
Posted - 10 July 2013 : 12:11:35 I want to check for the existence of files using FSO, but if the file path and/or name include an apostrophe, the program breaks. Anyone have a suggestion?
Example code:
|
9 L A T E S T R E P L I E S (Newest First) |
Carefree |
Posted - 11 August 2015 : 16:22:13 This is very old, but here's an update. I solved the mouseover Javascript routine by replacing apostrophes with the U+2032 symbol (#8242;). They still look like apostrophes (and actually sort properly now whereas the apostrophe didn't), so now the Javascript is happy. |
Carefree |
Posted - 11 July 2013 : 20:04:38 Found it - wasn't in this routine but in the chkstring function; was resulting in a double apostrophe before checking the file name. Thanks. Now if only I could figure out that javascript mouse-over routine, I'd be through with this and I could rest. |
HuwR |
Posted - 11 July 2013 : 13:34:15 this is the code I ran, and it quite happily displays that the file exists
<%
strPath = "c:\temp\"
strFile = "apostroph'e&ersand.txt"
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If not objFSO.FileExists(strPath&strFile) Then
strErr=strErr & "<li>"&strFile&" does not exist.</li>"
Else
strErr=strErr & "<li>"&strFile&" exists.</li>"
End If
Set objFSO = Nothing
Response.Write strErr
%> results in - apostroph'e&ersand.txt exists.
FYI, your code errors on the line objFSO.Close |
HuwR |
Posted - 11 July 2013 : 13:30:59 what are you actually getting when you run your code, I just tried this myself and it works quite happily with ampersand and apostrophes in file names |
Carefree |
Posted - 11 July 2013 : 11:50:13 The code works perfectly on all folders/files except for those containing an apostrophe and/or an ampersand. |
HuwR |
Posted - 11 July 2013 : 10:45:19 quote: From the Script Guy's Blog Incidentally, if you’re using the FileSystemObject (another way to work with files and folders), you don’t have to worry about this; the apostrophe doesn’t seem to bother the FileSystemObject. For example, if you want to know the size of Ken Myer’s Folder, use this code:
Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("C:\Ken Myer’s Folder") Wscript.Echo "Size: " & objFolder.Size No escaping or other coding tricks required.
|
HuwR |
Posted - 11 July 2013 : 10:41:09 well, from what I can find out, the FSO should not have any problem with filenames containing an apostrophe, are you sure that is definitely what is causing the problem ?
|
Carefree |
Posted - 11 July 2013 : 09:18:36 Replacing with an \' or with an '' doesn't work. Any other suggestions? |
HuwR |
Posted - 10 July 2013 : 12:19:25 try escaping any apostrophes with a slash, so try a replace on strFile to replace ' with \' |