Copiando e renomeando arquivos .xlsm usando batch

0

É um prazer estar aqui e estou realmente empolgado com novos scripts em lote. Eu tenho usado um lote contendo abaixo para copiar um excel de uma pasta para outra

{
@echo off

cp -r \Folder1\DELMIAIndustrialEngineering_2016_TaskDashboard.xlsm C:\Users\nv2\Folder2
}

Tudo o que eu queria era renomear esse arquivo .xlsm ao copiar na pasta2 para que eu tivesse todas as cópias armazenadas com .xlsm1, .xlsm2, .xlxm3 e assim o lote fosse executado. agradeceria seu feedback.

    
por Naveen 04.02.2016 / 11:04

2 respostas

0

Que tal você fazer isso por Data? Use isso Se você não quer fazer isso dessa maneira eu vou apagar este post eu só acho que é útil por data.

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" rem & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"

echo copying file
copy "C:\Users\MBurris\Documents\Updated Software\Testing\Test_DTC.txt" "C:\Users\MBurris\Documents\Testing Folder\Test_DTC %DD%%MM%%YYYY%.txt"  >nul
echo done
pause

Teste-o digitando suas informações.

    
por 04.02.2016 / 11:55
0
@echo off
Setlocal EnableDelayedExpansion

SET SOURCE_FOLDER=C:\Source Folder
SET TARGET_FOLDER=D:\Target Folder
SET /A COUNT=1
CD %SOURCE_FOLDER%

for %%F in (*.xlsm) do (
Copy "%%~nxF" "%TARGET_FOLDER%\%%~nxF!COUNT!"
SET /A COUNT+=1
)

Substituir

C:\Source Folder
D:\Target Folder
1

para definir sua própria pasta e iniciar o número de contagem. este lote começará em 1.

se C: \ Pasta de origem tiver os seguintes arquivos: File1.xlsm, File2.xlsm & File3.xlsm

depois de executar o lote, D: \ Pasta de destino terá cópias dos três arquivos, denominados: Arquivo1.xlsm1, Arquivo2.xlsm2 & Arquivo3.xlsm3

    
por 04.02.2016 / 15:45