Aqui você vai, salve o seguinte como um arquivo .BAT e execute:
@setlocal enabledelayedexpansion&&for /f %%a in ('dir /b *.csv') do @set fn=%%~na&&set fn=!fn:.=-!&&ren "%%a" "!fn!%%~xa"
Eu tenho 4 arquivos como abaixo:
C:\Documents and Settings\vm\AC R\test
JE.BOS.20130516.CSV
JE.BES.20130516.CSV
KFROPN.SAVEFILE.CSV
KFBAD.SAVEFILE.CSV
Eu tenho que substituir "."
no nome do arquivo por "-"
. Mas a extensão .CSV
deve permanecer igual.
1) Eu executei o comando abaixo e recebi o erro abaixo:
for /f "tokens=1*delims=." %%i in ('dir /a-d/b *.*.CSV') do ren "%%~i.%%~j" "%%~i-%%~j"
Erro:
C:\Documents and Settings\vm\AC R\test>for /f "tokens=1*delims=." %%
i in ('dir /a-d/b *.*.CSV') do ren "%%~i.%%~j" "%%~i-%%~j"
%%i was unexpected at this time.
2) Eu removi um% antes de i e executei como abaixo:
for /f "tokens=1*delims=." %i in ('dir /a-d/b *.*.CSV') do ren "%%~i.%%~j" "%%~i-%%~j"
e recebi o erro abaixo:
C:\Documents and Settings\vmeruga\ACCESS RECS\test>for /f "tokens=1*delims=." %i
in ('dir /a-d/b *.*.CSV') do ren "%%~i.%%~j" "%%~i-%%~j"
C:\Documents and Settings\vmeruga\ACCESS RECS\test>ren "%JEFFERIES.%BODPOS.20130
516.CSV" "%JE-%BODPOS.20130516.CSV"
The system cannot find the file specified.
C:\Documents and Settings\vmeruga\ACCESS RECS\test>ren "%JEFFERIES.%BODTRADES.20
130516.CSV" "%JE-%BODTRADES.20130516.CSV"
The system cannot find the file specified.
C:\Documents and Settings\vmeruga\ACCESS RECS\test>ren "%KFBAROPN.%SAVEFILE.CSV"
"%KFOPN-%SAVEFILE.CSV"
The system cannot find the file specified.
C:\Documents and Settings\vmeruga\ACCESS RECS\test>ren "%KFBARTRD.%SAVEFILE.CSV"
"%KFBARTRD-%SAVEFILE.CSV"
The system cannot find the file specified.
Aqui você vai, salve o seguinte como um arquivo .BAT e execute:
@setlocal enabledelayedexpansion&&for /f %%a in ('dir /b *.csv') do @set fn=%%~na&&set fn=!fn:.=-!&&ren "%%a" "!fn!%%~xa"
tente isso, veja a saída e remova a palavra echo
, se estiver OK:
@echo off&setlocal cd /d "C:\Documents and Settings\vm\AC R\test" for %%i in (*.*.csv) do ( set "fname=%%~ni" setlocal enabledelayedexpansion set "nname=!fname:.=-!" echo rename "!fname!.CSV" "!nname!.CSV" endlocal )