3

我在文件夹中有一个文件 book.csv C:\sam。我想先编写 .bat 脚本重命名它,然后再转到 .bat 脚本C:\samy。book.csv 也是动态文件名。

编辑

我想要一个脚本,以便我的文件从一个文件夹移动到另一个文件夹并创建一个新文件(如果已经存在任何文件)。

例如,我在下载文件夹中有一个文件 test.csv。当我运行以下脚本时,如果在 downloads1 文件夹中存在同名的任何文件,则覆盖该文件。

但我想要,它不应该覆盖现有文件,但两个文件都应该在那里;也许它改变了名称。在后面添加 1,2。

move C:\user\Downloads\*.csv C:\user\downloads1\

我也知道使用 /-Y 会问我需要覆盖。但我想自动执行此操作。

move /-Y C:\user\Downloads\*.csv C:\user\downloads1\
4

1 回答 1

7
@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
于 2013-10-17T09:28:02.313 回答