O "!"/run não leva todos os caracteres?
Moderador: Moderadores
-
jorgewagner
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 24 Jan 2007 14:31
- Localização: Petrópolis - RJ
O "!"/run não leva todos os caracteres?
Olá gente,
Minha primeira postagem aqui e é pra tirar uma dúvida:
Estou fazendo um programa de backup que tem que excluir todo o conteúdo do diretório e copiar novos arquivos para ele.
Simples: "! del c:\temp\*.* /q" . O "/q" é para não confirmar a exclusão do arquivo.
Aí está meu problema: toda vez que eu executo o DOS dá o erro "Opção inválida /q". Daí que eu acho que o "!" não leva todos os caracteres (algum conflito com o ponto de *.*?).
Testei com o run, delete file do próprio Clipper e nada. Todos os testes foram no Windows XP.
Alguma sugestão?
Jorge Wagner
24/01/2006|15:01
Minha primeira postagem aqui e é pra tirar uma dúvida:
Estou fazendo um programa de backup que tem que excluir todo o conteúdo do diretório e copiar novos arquivos para ele.
Simples: "! del c:\temp\*.* /q" . O "/q" é para não confirmar a exclusão do arquivo.
Aí está meu problema: toda vez que eu executo o DOS dá o erro "Opção inválida /q". Daí que eu acho que o "!" não leva todos os caracteres (algum conflito com o ponto de *.*?).
Testei com o run, delete file do próprio Clipper e nada. Todos os testes foram no Windows XP.
Alguma sugestão?
Jorge Wagner
24/01/2006|15:01
- Augusto
- Usuário Nível 3

- Mensagens: 473
- Registrado em: 26 Ago 2003 17:50
- Localização: Maricá/RJ
- Contato:
Tenta jogar o comando DOS completo numa variável e executa o RUN (!) na variável... tipo...
mDEL = "del c:\temp\*.* /q"
! &mDEL // ou
run &mDEL
Detalhe:
O "*.*" pode ser substituido por apenas "." tipo...
"del c:\temp\. /q"
mDEL = "del c:\temp\*.* /q"
! &mDEL // ou
run &mDEL
Detalhe:
O "*.*" pode ser substituido por apenas "." tipo...
"del c:\temp\. /q"
:xau Fui...
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
-
jorgewagner
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 24 Jan 2007 14:31
- Localização: Petrópolis - RJ
- Augusto
- Usuário Nível 3

- Mensagens: 473
- Registrado em: 26 Ago 2003 17:50
- Localização: Maricá/RJ
- Contato:
Vc já testou SEM o "/Q" ?? Se não me falha a memória, quando o comando é dado via PRG o DOS não questiona... Eu tenho uma rotina semelhante tbm para BKP e não utilizo o "/Q" e dá certo...
Tenta aí SEM o"/Q"
Tenta aí SEM o"/Q"
:xau Fui...
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
-
Dércio_Luiz_Zanatta
- Usuário Nível 3

- Mensagens: 153
- Registrado em: 11 Jan 2006 15:37
- Localização: Ibirubá - RS
Cara...
Isso ai é um problema dos comandos do clipper com Windows XP. Tive um problema parecido com isso. Eu usava RUN COPY /Y e dava opção inválida no /y..
Consegui resolver este problema usando as funções de tratamento de diretórios e arquivos da CA-TOOLS. No seu caso tente usar o DELTEFILE() DA CA-TOOLS. Deve funcionar..
Um abraço
Isso ai é um problema dos comandos do clipper com Windows XP. Tive um problema parecido com isso. Eu usava RUN COPY /Y e dava opção inválida no /y..
Consegui resolver este problema usando as funções de tratamento de diretórios e arquivos da CA-TOOLS. No seu caso tente usar o DELTEFILE() DA CA-TOOLS. Deve funcionar..
Um abraço
-
jorgewagner
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 24 Jan 2007 14:31
- Localização: Petrópolis - RJ
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Olá,
Você pode usar FErase( arquivo ) também, que não pede confirmação.
Para apagar todos do diretório:
Não testei mas deve funcionar.
De qualquer modo é por aí o caminho...
Você pode usar FErase( arquivo ) também, que não pede confirmação.
Para apagar todos do diretório:
Código: Selecionar todos
ADir( "*.*", "matriz" )
for i := 1 to Len( matriz )
FErase( matriz[i] )
next i
De qualquer modo é por aí o caminho...
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
O que eu uso e sempre funciona:
[]'s
Maligno
http://www.buzinello.com/prg
Código: Selecionar todos
DelFiles("c:\temp\teste\*.*")
--------------------------------
function DelFiles(cFullPath)
local cPath := SubStr(cFullPath,1,RAt("\",cFullPath))
AEval(Directory(cFullPath),{|aFiles|FErase(cPath+aFiles[1])})
return nilMaligno
http://www.buzinello.com/prg
-
jorgewagner
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 24 Jan 2007 14:31
- Localização: Petrópolis - RJ
Olá,Stanis Luksys escreveu:Para apagar todos do diretório:
Não testei mas deve funcionar.Código: Selecionar todos
ADir( "*.*", "matriz" ) for i := 1 to Len( matriz ) FErase( matriz[i] ) next i
FErase() funcionou. Obrigado a todos.
