Ir ao conteúdo

Posts recomendados

Postado

bom dia galera, sou novo aqui e não sei se estou postando no área correta.

 

estou com um problema em um .bat que fiz aqui onde trabalho, é o seguinte temos o costume de deixar uma pasta na rede com imagens para fundo de tela ir trocando pelo windows, até ai tudo certo, como sou designer sou responsável pelas artes que aparecem na tela, colocamos no dia sempre uma imagem de parabenização do aniversariante do dia, mas nem sempre lembro de por, tive a ideia de usar .bat, onde tenho uma pasta separada por meses e dias onde os aniversariantes fazem, e então dentro de cada pasta do dia está a imagem do aniversariante do dia.

no servidor fiz um agendador para rodar 2 .bat um que às 00:00 ele deleta os arquivos niver_1, niver_2, niver_3niver_4. e outro às 00:01 ele copia os arquivos da pasta do dia.

o problema está o seguinte que hoje dia 9/12/2016 tem dois aniversariantes e amanhã 10/12/2016 tem um só, niver_1niver_2 para hoje (09/12/2016) e amanhã (10/12/2016) tem outro que está também como niver_1 estranho que ele está copiando os de hoje (09/12/2016) mas está copiando o de amanhã (10/12/2016) também e substituindo o niver_1 de hoje (09/12/2016).

 

delniver.bat

del /s /f "\\servidor\geral\desenho\wallpaper\niver_1.png"
del /s /f "\\servidor\geral\desenho\wallpaper\niver_2.png"
del /s /f "\\servidor\geral\desenho\wallpaper\niver_3.png"
del /s /f "\\servidor\geral\desenho\wallpaper\niver_4.png"

niver.bat

xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\1" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:01-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\2" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:02-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\3" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:03-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\11" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:11-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\12" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:12-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\13" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:13-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\15" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:15-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\18" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:18-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\janeiro\23" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:23-01-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\fevereiro\1" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:01-02-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\fevereiro\2" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:02-02-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\fevereiro\5" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:05-02-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\fevereiro\13" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:13-02-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\fevereiro\27" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:27-02-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\fevereiro\28" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:28-02-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\marco\3" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:03-03-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\marco\10" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:10-03-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\marco\12" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:12-03-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\marco\21" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:21-03-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\marco\23" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:23-03-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\marco\25" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:25-03-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\marco\26" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:26-03-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\marco\31" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:31-03-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\abril\1" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:01-04-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\abril\12" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:12-04-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\abril\22" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:22-04-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\abril\23" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:23-04-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\maio\2" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:02-05-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\maio\10" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:10-05-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\maio\18" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:18-05-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\maio\22" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:22-05-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\maio\27" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:27-05-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\junho\4" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:04-06-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\junho\8" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:08-06-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\junho\13" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:13-06-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\junho\20" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:20-06-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\junho\25" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:25-06-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\junho\27" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:27-06-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\julho\10" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:10-07-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\julho\15" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:15-07-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\julho\19" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:19-07-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\julho\23" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:23-07-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\julho\29" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:29-07-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\agosto\3" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:03-08-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\agosto\7" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:07-08-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\agosto\16" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:16-08-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\agosto\18" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:18-08-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\agosto\19" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:19-08-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\agosto\22" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:22-08-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\agosto\26" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:26-08-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\7" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:07-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\8" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:08-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\9" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:09-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\17" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:17-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\16" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:16-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\19" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:19-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\23" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:23-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\24" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:24-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\setembro\26" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:26-09-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\outubro\3" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:03-10-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\outubro\4" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:04-10-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\outubro\7" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:07-10-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\outubro\15" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:15-10-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\outubro\21" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:21-10-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\outubro\26" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:26-10-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\outubro\30" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:30-10-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\3" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:03-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\10" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:10-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\13" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:13-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\15" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:15-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\18" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:18-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\21" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:21-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\24" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:24-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\25" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:25-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\26" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:26-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\novembro\29" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:29-11-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\dezembro\1" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:01-12-2017
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\dezembro\9" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:09-12-2016
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\dezembro\10" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:10-12-2016
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\dezembro\18" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:18-12-2016
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\dezembro\26" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:26-12-2016
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\dezembro\27" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:27-12-2016
xcopy "\\servidor\geral\desenho\arquivos para wallpaper\aniversarios\dezembro\31" "\\servidor\geral\desenho\wallpaper" /c /i /k /y /d:31-12-2016

 

  • Curtir 1
Postado

@thiagoleam veja esta sugestão se lhe atende:  

A batch cria um string com o nome do mes atual, e dia atual. E copia os arquvois no respectivo diretorio.  Ex.: \\Servidor\....\dezembro\09

voce precisa só renomear suas pastas para 2 digitos. Ex.:  \\Servidor\....\dezembro\1 => 01

@echo off
setlocal EnableDelayedExpansion
set m=100
for %%m in (Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro) do (
   set /A m+=1
   set month[!m:~-2!]=%%m
)
for /F "tokens=2 delims=/"  %%m in ("%DATE%") do (
   set monthName=!month[%%m]!
)
xcopy \\servidor\geral\desenho\arquivos para wallpaper\aniversarios\%monthName%\%DATE:~0,2% "\\servidor\geral\desenho\wallpaper\" /c /i /k /y 

baseado em: http://stackoverflow.com/questions/15469307/how-to-print-month-name-in-file-name-by-using-bat

  • Curtir 1
Postado

Talvez eu não tenha me expressado bem no meu post.

Mas, vamos lá...pelo que entendi, você tem o seguinte cenário, na sua estrutura de rede da empresa: 

voce tem em um diretório: [ \\servidor\geral\desenho\arquivos para wallpaper\aniversarios\ ], 12 subpastas, nomeadas com os nomes de todos os meses do ano, e dentro de cada subpasta você tem "n" subpastas nomeadas numericamente, com os dias do respectivo mês.

path.jpg

@echo off
setlocal EnableDelayedExpansion
set m=100
for %%m in (Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro) do (
   set /A m+=1
   set month[!m:~-2!]=%%m
)
for /F "tokens=2 delims=/"  %%m in ("%DATE%") do (
   set monthName=!month[%%m]!
)
 xcopy C:\Temp\%monthName%\%DATE:~0,2% "C:\temp"

Neste exemplo (img. acima), que criei, simulando mais ou menos o seu cenário, no meu PC,  a BAT copiou todos os arquivos do diretório: [ C:\Temp\dezembro\11 ], para a Pasta [ C:\Temp ], sem o uso dos parâmetros. Ou seja, a Bat fez um loop na lista de meses, inseridos no codigo, e buscou o mes atual na lista, e o dia atual, sem a necessidade de eu informar todas as subpastas contidas no diretorio em questão. (como você demostrou no seu 1º post.).

 

No dia 09/12, também havia feito os testes, e deu certo. (copiou os arquivos somente da subpasta 09).

 

Como eu disse anteriormente, você só precisa renomear as subpastas (dia), para 2 (dois) dígitos. Ex.: "01"

  

  • Curtir 1
Postado

Não, do jeito que voce fez, pra mim não rodou.

 

Se quer utilizar a minha sugestão e aposentar o seu enorme código, altere somente o seu diretório, em relação ao meu exemplo:

 

Então ficaria assim.

Teste aí !:

	@echo off
setlocal EnableDelayedExpansion
set m=100
for %%m in (Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro) do (
   set /A m+=1
   set month[!m:~-2!]=%%m
)
for /F "tokens=2 delims=/"  %%m in ("%DATE%") do (
   set monthName=!month[%%m]!
)
xcopy \\servidor\geral\desenho\arquivos para wallpaper\aniversarios\%monthName%\%DATE:~0,2% "\\servidor\geral\desenho\wallpaper\" 
  • Curtir 1
Postado

@Basole Fiz aqui mas da como paramentro inválido esse code que você disse pra mim usar :/

adicionado 16 minutos depois

@Basole Acredito que é porque você usou setlocal, como não fica no meu pc ele está procurando no mapeamento da rede que fiz, teria que ser um code para servidor "setserver"? não conheço muito então não sei o que usar :x

  • Curtir 1
Postado

O erro esta direcionando a problemas com os paramentros.

Experimente retirar os paramertros, fiz os testes aqui sem eles e funcionou prefeitamente;

 

xcopy \\servidor\geral\desenho\arquivos para wallpaper\aniversarios\%monthName%\%DATE:~0,2% "\\servidor\geral\desenho\wallpaper\" 
  • Curtir 1
Postado

@Basole Não funciona, testei com pasta no meu pc e foi, te algo a ver com ser pasta em outro local, talvez descrever outro tipo para as pasta do servidor, pois quando executa no pc ele acessa as minhas pastas "C:/" mas no servidor ele trata de maneira diferente "\\servidor", existe outro meio de mostrar o caminho?

adicionado 10 minutos depois

Foi! Não sei o que mexi no code que funcionou kkkk

Segue abaixo como ficou:

@echo
setlocal EnableDelayedExpansion
set m=100
for %%m in (Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro) do (
   set /A m+=1
   set month[!m:~-2!]=%%m
)
for /F "tokens=2 delims=/"  %%m in ("%DATE%") do (
   set monthName=!month[%%m]!
)
xcopy "\\SERVIDOR\GERAL\DESENHO\ARQUIVOS PARA WALLPAPER\ANIVERSARIOS\MESES\%monthName%\%DATE:~0,2%" "\\SERVIDOR\GERAL\DESENHO\WALLPAPER"

 

  • Curtir 1
Postado

Opa! Legal!.

voce acrescentou " " (Aspas) no path dos arquivos a serem copiados: 

É que aqui pra mim, rodou s/ as aspas  

"\\SERVIDOR\GERAL\DESENHO\ARQUIVOS PARA WALLPAPER\ANIVERSARIOS\MESES\%monthName%\%DATE:~0,2%"

 

  • Curtir 1
Postado

Fico contente de ter dado certo.

* No print que voce inseriu, verifiquei que o mes de março está sendo lido como: MarÞo.

O ideal é alterar, no codigo para "marco" (s/ as aspas). para evitar erros.

 

shot0000.JPG

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!