删除目标文件夹中的文件

问题描述 投票:0回答:1

我有下面的代码,根据年份和月份将xml传输到文件夹,但有时文件已经复制到目标文件夹,如果文件已经存在,我如何通知代码删除该文件?


@ECHO off
    set v_day_of_week=
    set v_day=
    set v_month=
    set v_year=
    set v_path=
    set v_pathOri=d:\XmlRec\
    set v_sub_path = 
    set v_copy_path = D:\xml\

    SETLOCAL ENABLEEXTENSIONS
      for /f "tokens=1" %%t in ('date/t') do (
        set v_day_of_week=%%t
        if "%%ta" LSS "a" (set toks=1-3) else (set toks=2-4)
      )
::DEBUG echo toks=%toks%
      for /f "tokens=2-4 delims=(-)" %%a in ('echo:^|date') do (
::DEBUG echo first token=%%a
        if "%%a" GEQ "A" (
          for /f "tokens=%toks% delims=.-/ " %%i in ('date/t') do (
            set '%%a'=%%i
            set '%%b'=%%j
            set 'yy'=%%k
          )
        )
      )
      if %'yy'% LSS 100 set 'yy'=20%'yy'%
      set Today=%'yy'%-%'mm'%-%'dd'%

    ENDLOCAL & SET day_of_week=%v_day_of_week% & SET v_year=%'yy'%& SET v_month=%'mm'%& SET v_day=%'dd'%

    ::ECHO Today is Year: %V_Year% Month: [%V_Month%] Day: [%V_Day%]
    set datestring=%V_Year%%V_Month%%V_Day%
    ::echo %datestring%
    ::echo day of week=%day_of_week%
    
    if %V_Month% == 01 set v_sub_path=01-Janeiro
    if %V_Month% == 02 set v_sub_path=02-Fevereiro
    if %V_Month% == 03 set v_sub_path=03-Marco
    if %V_Month% == 04 set v_sub_path=04-Abril
    if %V_Month% == 05 set v_sub_path=05-Maio
    if %V_Month% == 06 set v_sub_path=06-Junho
    if %V_Month% == 07 set v_sub_path=07-Julho
    if %V_Month% == 08 set v_sub_path=08-Agosto
    if %V_Month% == 09 set v_sub_path=09-Setembro
    if %V_Month% == 10 set v_sub_path=10-Outubro
    if %V_Month% == 11 set v_sub_path=11-Novembro
    if %V_Month% == 12 set v_sub_path=12-Dezembro
    

    set v_path=%v_pathOri%%V_Year%\%v_sub_path% 

    if exist %v_pathOri%*.xml %v_path% (del %v_pathOri%*.xml)
    else (  
          xcopy %v_pathOri%*.xml %v_path% /R    
          xcopy %v_pathOri%*.xml D:\xml\ /R
        
    )
  :EOF  

我尝试插入下面的代码,但即便如此,执行批处理时,仍出现消息:

if exist %v_pathOri%*.xml %v_path% (del %v_pathOri%*.xml)
    else (  
          xcopy %v_pathOri%*.xml %v_path% /R    
          xcopy %v_pathOri%*.xml D:\xml\ /R

'd:\XmlRec�4 -Janeiro' 未被识别为内部或外部命令, 可运行的程序或批处理文件。 “else”不被识别为内部或外部命令, 可运行的程序或批处理文件。 覆盖 D:\XmlRecebidos�4 -Janeiro�40117550000013036511650115590.xml(是/否/全部)?

file batch-file goto robocopy
1个回答
-1
投票

“不被识别为内部/外部命令”的主要问题通常与 Windows 类型环境中的命令提示符或批处理文件执行有关

© www.soinside.com 2019 - 2024. All rights reserved.