webForumDet fria alternativet

FileSystemObject

ASP

6 svar · 270 visningar · startad av colione

Medlem sedan juni 20014 421 inlägg
Frågan#1

Det var ett bra tag sen nu som jag höll på med ASP. Jag har nu på senare tid mest suttit med klientprogrammering och sådant.

Jag kände nu för at plocka upp lite gamla kunskaper med kom då på att de äro helt döda. Kan någon hjälpa mig med detta:

<% @LANGUAGE="VBScript"%>
<% Response.Buffer=TRUE%>
<%
  Set MyFSO = Server.CreateObject("Scripting.FileSystemObject")
  Set MyFolder = Blaha
  Set MyFile = Blaha.txt
  If MyFSO.FolderExists(MyFolder) = True AND MyFSO.FileExists("" & Server.MapPath() & "/" & MyFolder & MyFile) = False  Then  
  MyFSO.MoveFile(Server.MapPath() & MyFile, Server.MapPath() & MyFolder & MyFile)
  Else
  MyFSO.CreateFolder(MyFolder)
  MyFSO.MoveFile(Server.MapPath() & MyFile , Server.MapPath() & MyFolder & MyFile )
%>

Jag får felet:

Feltyp:
Microsoft VBScript compilation (0x800A0414)
Cannot use parentheses when calling a Sub
/Default.asp, line 8, column 79
MyFSO.MoveFile(Server.MapPath() & MyFile, Server.MapPath() & MyFolder & MyFile)

Medlem sedan juni 200032 967 inlägg
#2

Har du provat att ta bort de yttre parenteserna, som felmeddelandet föreslår?

Medlem sedan feb. 200112 078 inlägg
#3

Server.mappath är en funktion som måste ha en parameter för att returnera ett giltigt värde. Dessutom har du glömt ett par \.

<% @LANGUAGE="VBScript"%>
<% Response.Buffer=TRUE%>
<%
  Set MyFSO = Server.CreateObject("Scripting.FileSystemObject")
  Set MyFolder = Blaha
  Set MyFile = Blaha.txt
  If MyFSO.FolderExists(MyFolder) = True AND MyFSO.FileExists("" & Server.MapPath(".") & "\" & MyFolder & "\" & MyFile) = False  Then  
  MyFSO.MoveFile(Server.MapPath(".") & "\" & MyFile, Server.MapPath(".") & "\" & MyFolder & "\" & MyFile)
  Else
  MyFSO.CreateFolder(MyFolder)
  MyFSO.MoveFile(Server.MapPath(".") & "\" & MyFile , Server.MapPath(".") & "\" &  MyFolder & "\" & MyFile )
%>

Skrivet direkt ur huvudet.

Medlem sedan juni 20014 421 inlägg
#4

Ahh, tack så mycket, jag provar den när jag kommer hem.

Medlem sedan juni 20014 421 inlägg
#5

Okej första delen löst, tack till dig OveRRidE.

Nu till ytterliggare ett fel som genereras:

<% @LANGUAGE="VBScript"%>
<% Response.Buffer=TRUE%>
<%
  Dim MyFolder, MyFile, MyFSO
  Set MyFSO = Server.CreateObject("Scripting.FileSystemObject")
  Set MyFolder = "Blaha"
  Set MyFile = "Blaha.txt"
  If MyFSO.FolderExists(MyFolder) = True AND MyFSO.FileExists(Server.MapPath(".") & "\" & MyFolder & "\" & MyFile) = False  Then  
  MyFSO.MoveFile Server.MapPath(".") & "\" & MyFile, Server.MapPath(".") & "\" & MyFolder & "\" & MyFile
  Else
  MyFSO.CreateFolder(MyFolder)
  MyFSO.MoveFile Server.MapPath(".") & "\" & MyFile , Server.MapPath(".") & "\" &  MyFolder & "\" & MyFile
  end if
  Set MyFSO = Nothing
  response.write "Objektet "& MyFile &" skapades som det skulle!"
%>

Felmeddelandet ser ut såhär:
Feltyp:
Microsoft VBScript runtime (0x800A01A8)
Object required: '[string: "Blaha"]'
/Default.asp, line 6

Medlem sedan mars 20002 836 inlägg
#6

Ta bort Set framför Set myFolder och Set myFile .... de är strängar, inga objekt.

cya,
PatrikB

Medlem sedan juni 20014 421 inlägg
#7

tack

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)