我在文件夹C:\ sam中有一个文件book.csv我想写.bat脚本先重命名然后再转到C:\ samy。 book.csv也是动态文件名。
修改
我想要一个脚本,以便我的文件从一个文件夹移动到另一个文件夹并创建一个新文件..如果任何文件已经存在..
for eg..i在Downloads文件夹中有一个文件test.csv。当我运行下面的脚本如果覆盖该文件,如果在downloads1文件夹中存在任何同名的文件..
但我想,它不应该覆盖现有文件,但两个文件都应该在那里。可能会改变名称。后面的1,2.
有人可以帮我解决这个问题。
move C:\user\Downloads\*.csv C:\user\downloads1\
我也知道使用/ -Y会问我需要覆盖。但我想自动执行此操作
move /-Y C:\user\Downloads\*.csv C:\user\downloads1\
答案 0 :(得分:6)
@echo off
set /p new_name=set a new name
move /Y C:\sam\books.csv C:\samy\%new_name%.csv
或
@echo off
move /Y C:\sam\books.csv C:\samy\%%~1.csv
第一个将询问用户新名称。第二个将依赖命令行参数,例如movescript.bat new_name
修改强>
在下面的评论中的第二个请求之后,似乎应该使用ren
命令:
@echo off
set /p new_name=set a new name
move /Y C:\sam\books*.csv C:\samy\
cd /D C:\samy\
ren book_????_??_??.csv %new_name%_????_??_??.csv
或
@echo off
move /Y C:\sam\books*.csv C:\samy\
cd /D C:\samy\
ren book_????_??_??.csv %%~1_????_??_??.csv