Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marciolvs

[Resolvido] renomear arquivo a partir do ponto

Recommended Posts

Alguem sabe uma função que consigo renomear um arquivo apartir de um . (ponto) ?

 

esta abaixo peço os ultimo digitos, porem ele pode ter 4 como 3 da extensão.

 

 

' função reponsável por retornar a extensão do arquivo
	Function retornaExtensaoArquivo(arquivo)
		retornaExtensaoArquivo = right(arquivo, 5)
	End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para retornar os caracteres após o "." contido em uma string:

varFileName = "image.jpg"
varFileExt = Mid(varFileName, InStrRev(varFileName, ".") + 1)
Response.Write(varFileExt)

 

Agrege a sua função de renomear.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo ,

 

<%@ Language=VBScript %>
   <HTML>
   <BODY>
   <%
'Renomeação em massa, de vários arquivos
'O arquivo de origem é dscf0555.jpg e vamos alterar seu nome para luta1.jpg
'a variável N, é o resultado da renomeação em massa em alta velocidade


   Dim objFileScripting, objFolder
   Dim filename, filecollection, strDirectoryPath, strUrlPath

   	strDirectoryPath="C:\Inetpub\wwwroot\directory\"
   	strUrlPath="\directory\"

   	Set objFileScripting = CreateObject("Scripting.FileSystemObject")
   	Set objFolder = objFileScripting.GetFolder("C:\Inetpub\wwwroot\directory\")
   	Set filecollection = objFolder.Files
Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
'Start the count
n = 1
   	For Each filename In filecollection
   		Filename=right(Filename,len(Filename)-InStrRev(Filename, "\"))
           fso.MoveFile "C:\Inetpub\wwwroot\directory\"&filename, "C:\Inetpub\wwwroot\directory\newname"&n&".jpg"
         n = n + 1
   	Next
   %>
   </BODY>
   </HTML>

 

abaixo um tutorial, para acessar um servidor remoto, faremos download de imagens, e poderemos renomear e salvar ao nosso sistema de arquivos. Iremos usar uma função (pegaImagem) e uma sub-rotina (salvaImagem). Primeira parte do nosso código, pegue array de bytes da imagem de um servidor remoto. A segunda parte contém uma sub-rotina que grava array de bytes para arquivo de sistema.

 

Coloque a nossa função e chamadas de subrotina no início do código.

 

Criando variáveis

imageUrl = "htp://www.algum-nome-de-domínio.com /imagens/imagem.jpg"
strImageName = "nova-imagem.jpg"



Function and subroutine calls

salvaImagem pegaImagem(imageUrl), strImageName


Aqui é uma biblioteca de código:

Function pegaImagem(strImageUrl)
' Set objHttp = CreateObject("Microsoft.XMLHTTP")
' Set objHttp = CreateObject("MSXML2.ServerXMLHTTP")
Set objHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
' Set Http = CreateObject("WinHttp.WinHttpRequest")
objHttp.Open "GET", URL, False
objHttp.Send

pegaImagem = pegaImagemHttp.ResponseBody
End Function

Sub salvaImagem(ByteArray, strImageName)
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Const adSaveCreateNotExist = 1

Set objBinaryStream = CreateObject("ADODB.Stream")
objBinaryStream.Type = adTypeBinary

objBinaryStream.Open
objBinaryStream.Write ByteArray
objBinaryStream.SaveToFile "C:\Inetpub\wwwroot\diretorio\images\" & (strImageName), adSaveCreateOverWrite
response.Write("A imagem fez o download e salvou!")
end sub



 

e

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa galera, fiz assim

 

'retorna
	Function retornaExtensaoArquivo(arquivo)
		'retornaExtArquivo = right(arquivo, 5)
		IF left((right(arquivo,5)),1) = "." THEN
			retornaExtensaoArquivo = right(arquivo, 5)
		ELSEIF left((right(arquivo,4)),1) = "." THEN
			retornaExtensaoArquivo = right(arquivo, 4)	
		ELSEIF left((right(arquivo,3)),1) = "." THEN
			retornaExtensaoArquivo = right(arquivo, 3)	
		END IF				
	End Function

 

nome_arquivo = id &"_"& RetornaExtensaoArquivo(arquivo) 

 

funcou beleza.

 

agradeço a todos que deu a mão aqui

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.