用于重命名然后将文件从1个文件夹移动到其他文件的批处理脚本。

时间:2013-10-17 09:14:58

标签: batch-file file-io cmd

我在文件夹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\

1 个答案:

答案 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