Перезаписать файл с тем же именем из урезанного файла - PullRequest
0 голосов
/ 26 октября 2018

Я получил свой код, чтобы работать на меня до этого момента.После обрезки и переименования файла, если файл с таким именем существует, он не будет перезаписан.

Этот пакетный файл запускается несколько раз, поэтому в первый раз он работает, а затем во второй раз не может перезаписать ранее созданный файл, поскольку вновь обрезанное имя файла совпадает с ранее созданным именем файла.

Поскольку это имя файла не является постоянным, я не уверен, как его удалить перед запуском команды, поскольку в этой папке будут другие файлы с таким же расширением (или его отсутствием).

xcopy /d "%SystemDrive%\clfiles\*xp21.tap" 
"\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD
\MS200\*xp21*" /y

set Source="\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD\MS200"
for %%c in (%Source%\*xp21*) do (
    set MS200Trimmed=%%~nc
    set MS200Trimmed=!MS200Trimmed:~0,8!%
    ren "%%~c" !MS200Trimmed!
)

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Что мне сработало, так это наличие "del% Source%! ProbeMacro!"как раз перед арендойЯ также думаю, что я наконец-то понял форматирование, чтобы публиковать здесь, чтобы мои сообщения было легче понять: ~)

    xcopy /d "%SystemDrive%\clfiles\*xp18.tap" 
    "\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD

    \MS_PROBE_MACROS" /y

    ren \\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD\MS_PROBE_MACROS\*xp18.tap "M*.tap"


    set Source="\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD\MS_PROBE_MACROS"
    for %%e in (%Source%\M*.tap) do (
        set ProbeMacro=%%~ne
        set ProbeMacro=!ProbeMacro:~0,8!%
        del %Source%\!ProbeMacro!
    ren "%%~e" "!ProbeMacro!"
    )
0 голосов
/ 26 октября 2018

Прямо перед "ren" %% ~ c "! MS200Trimmed!" строка, добавьте команду удаления.

xcopy /d "%SystemDrive%\clfiles\*xp21.tap" 
"\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD
\MS200\*xp21*" /y

set Source="\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD\MS200"
for %%c in (%Source%\*xp21*) do (
    set MS200Trimmed=%%~nc
    set MS200Trimmed=!MS200Trimmed:~0,8!%
    del !MS200Trimmed! 
    ren "%%~c" !MS200Trimmed!
)
...