---
title: "copy"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/45995-copy"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "LR^evil.sid"
published: "2002-06-16T04:01:34.000Z"
updated: "2002-06-16T18:50:49.000Z"
replies: 4
views: 228
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/45995-copy"
---

# copy

## #1 — LR^evil.sid, 2002-06-16T04:01Z

jag försöker skriva en sida som döper om filnamn men något blir fel, antagligen annars skulle jag väl inte be er om hjälp, :)

```
[red]	else
'		response.write request ( "slctFldr" )[/red] --> [blue]D:\tmp[/blue][red]
		call renameFiles
		response.write "file(s) renamed"
	end if

	sub renameFiles ()
		dim slctFldr, fs, f, fc, i, c, orgFile

		slctFldr = request ( "slctFldr" )

		set fs = server.createobject ( "scripting.filesystemobject" )
		set f  = fs.getfolder ( slctFldr )
		set fc = f.files

		for each i in fc

[/red]line 37 -->[blue]		set c = getfile ( slctFldr & "\" & i )[/blue][red]

			orgFile = i
			i = replace ( i, "(", "[" )
			i = replace ( i, ")", "]" )
			i = replace ( i, "_", " " )
			i = replace ( i, ".", " " )

'			response.write slctFldr & "\" & i

			c.copy ( slctFldr & "\" & i )
			c.deletefile ( slctFldr & "\" & orgFile )
		next

		set fs = nothing
	end sub[/red]
```

felmeddelande:

```
[red]Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'getfile'
/renamer.asp, line 37[/red]
```

Permalänk: https://www.webforum.nu/p/45995

## #2 — pettsson, 2002-06-16T09:05Z

ska det verkligen rad 2 i koden vara en kommentar?

Permalänk: https://www.webforum.nu/p/698296

## #3 — LR^evil.sid, 2002-06-16T14:01Z

båda kommentarerna har jag laggt till för att se vilken fil scritptet arbetar med.

.red \[ stavar som en kratta :) \]

Permalänk: https://www.webforum.nu/p/698423

## #4 — LR^evil.sid, 2002-06-16T15:09Z

fixade det själv MEN det finns en gigantisk bug och ett problem.

bug: scriptet tar bort ursprungsfilerna. har inga filer kopierats har du ingen fil kvar i foldern  :stud

problem: filändelser i markeras ju med den sista punkten och det är ett av tecknen som ska ersättas med mellanslag.

fråga: hur gör jag för att behålla filendelsen?

```
[red]	else
		call renameFiles
		response.write "file(s) renamed"
	end if

	sub renameFiles ()
		dim slctFldr, fs, f, fc, i, c, orgFile

		slctFldr = request ( "slctFldr" )

		set fs = server.createobject ( "scripting.filesystemobject" )
		set f  = fs.getfolder ( slctFldr )
		set fc = f.files

		for each i in fc

			set c = fs.getfile ( i )

			orgFile = i
			i = replace ( i, "(", "[" )
			i = replace ( i, ")", "]" )
			i = replace ( i, "_", " " )
			i = replace ( i, ".", " " )

			c.copy ( lcase ( i ) )
			fs.deletefile ( orgFile )
		next

		set fs = nothing
	end sub[/red]
```

Permalänk: https://www.webforum.nu/p/698464

## #5 — LR^evil.sid, 2002-06-16T18:50Z

men se! jag löste det själv. frågan är om det finns ett bättre sätt?

```
[red]
	else
		call renameFiles
	end if

	sub renameFiles ()
		dim slctFldr, fs, f, fc, i, c, orgFile, e, doLog, logFile

		slctFldr = request ( "slctFldr" )

		set fs = server.createobject ( "scripting.filesystemobject" )
		set f  = fs.getfolder ( slctFldr )
		set fc = f.files

		for each i in fc
			set c = fs.getfile ( i )

			orgFile = i

			e = right ( i, len ( i ) - instrrev ( i, "." ) + 1 )
			i = left ( i, ( instrrev ( i, "." ) ) - 1 )

			i = replace ( i, "(", "[" )
			i = replace ( i, ")", "]" )
			i = replace ( i, "_", " " )
			i = replace ( i, ".", " " )

			if not orgFile = i & e then doLog = true else doLog = false

			select case doLog
				case true
					c.copy ( lcase ( i & e ) )
					fs.deletefile ( orgFile )

					logFile = logFile & "<table cellpadding = '0' cellspacing = '0' border = '0'>" & vbcrlf & _
						"	<tr>" & vbcrlf & _
						"		<td>#copied:&nbsp;</td>" & vbcrlf & _
						"		<td>" & right ( orgFile, len ( orgFile ) - instrrev ( orgFile, "\" ) ) & "</td>" & vbcrlf & _
						"		<td>&nbsp;&nbsp;-->&nbsp;&nbsp;</td>" & vbcrlf & _
						"		<td>" & right ( i, len ( i ) - instrrev ( i, "\" ) ) & e & "</td>" & vbcrlf & _
						"	</tr>" & vbcrlf & _
						"	<tr>" & vbcrlf & _
						"		<td>#deleted:&nbsp;</td>" & vbcrlf & _
						"		<td colspan = '3'>" & right ( orgFile, len ( orgFile ) - instrrev ( orgFile, "\" ) ) & "</td>" & vbcrlf & _
						"	</tr>" & vbcrlf
				case false
					if logFile = "" then
						logFile = logFile & "<table cellpadding = '0' cellspacing = '0' border = '0'>" & vbcrlf & _
							"	<tr>" & vbcrlf & _
							"		<td>#nothing renamed</td>" & vbcrlf & _
							"	</tr>" & vbcrlf & _
							"	<tr>" & vbcrlf & _
							"		<td>#nothing deleted</td>" & vbcrlf & _
							"	</tr>" & vbcrlf
						exit for
					else
						logFile = logFile & "<table cellpadding = '0' cellspacing = '0' border = '0'>" & vbcrlf & _
							"	<tr>" & vbcrlf & _
							"		<td>#file:&nbsp;</td>" & vbcrlf & _
							"		<td>" & right ( orgFile, len ( orgFile ) - instrrev ( orgFile, "\" ) ) & "</td>" & vbcrlf & _
							"		<td>&nbsp;&nbsp;was not copied</td>" & vbcrlf & _
							"	</tr>" & vbcrlf & _
							"	<tr>" & vbcrlf & _
							"		<td>#file:&nbsp;</td>" & vbcrlf & _
							"		<td>" & right ( orgFile, len ( orgFile ) - instrrev ( orgFile, "\" ) ) & "</td>" & vbcrlf & _
							"		<td colspan = '2'>&nbsp;&nbsp;was not deleted</td>" & vbcrlf & _
							"	</tr>" & vbcrlf
					end if
			end select
		next

		set fs = nothing

		logFile = logFile & "</table>"

		response.write logFile
	end sub[/red]
```

Permalänk: https://www.webforum.nu/p/698545

---

Tråden på webben: https://www.webforum.nu/amne/asp/45995-copy
