dos command to sperate file name and extension into variables

后端 未结 1 1879
不知归路
不知归路 2020-12-25 08:30

I need to copy a file x.dtsx from location a to location b.

If x.dtsx already exists in b then I need to rename x.dtsx to x_Standby.dtsx Then, after renaming copy x.

1条回答
  •  一生所求
    2020-12-25 09:23

    If you use the Command Processor Extensions (which is default on Windows 2000 and later) then you can use the following optional syntax:

    %~1         - expands %1 removing any surrounding quotes (")
    %~f1        - expands %1 to a fully qualified path name
    %~d1        - expands %1 to a drive letter only
    %~p1        - expands %1 to a path only
    %~n1        - expands %1 to a file name only
    %~x1        - expands %1 to a file extension only
    %~s1        - expanded path contains short names only
    %~a1        - expands %1 to file attributes
    %~t1        - expands %1 to date/time of file
    %~z1        - expands %1 to size of file
    

    The modifiers can be combined to get compound results:

    %~dp1       - expands %1 to a drive letter and path only
    %~nx1       - expands %1 to a file name and extension only
    

    So your command would look something like this:

    if exist %2\%~nx1 ren %2\%~nx1 %~n1_standby%~x1
    

    0 讨论(0)
提交回复
热议问题