I am trying to write a script to replace old files content with new files content which is appearing in the following format:
Old file : something.txt
New file : s
\in %FOLDER_PATH%\*.*.new files only, so why not using this pattern rather than *? If you are interested in files matching the pattern *.txt.new, then specify this instead of *.basename; simply use %%~nf to remove the (last) suffix (.new).ren command throws an error in case the target file already exists; since you want it to be overwritten, use move /Y instead. Add > nul to hide the summary 1 file(s) moved..if query after having resolved item 2.All in all, your script can be reduced to:
@echo off
set "FOLDER_PATH=D:\test"
rem // Ensure to specify the correct pattern, `*.new` or `*.txt.new`:
for %%f in ("%FOLDER_PATH%\*.txt.new") do (
> nul move /Y "%%~f" "%%~nf"
)
pause