как заменить пробел именем файла, чтобы построить маршрут? - PullRequest
0 голосов
/ 10 мая 2019

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

folder
-- new file.txt---->the problem 
-- file2.txt
-- file3.csv

я применяю этот mybatch.bat

 set FECHA=%date%
 set FECHA=%FECHA:/=%
 set FILE=D:\BACKUPS
 for %%i in (*) do (
     copy %cd%\%%i %FILE%\${%%~ni// /_}_%DATE%%%~xi
)

попробуйте заменить пробелы на "_" следующий код в маршруте

${%%~ni// /_}

но это не работает, это просто выглядит как строка

D:\BACKUPS\${%%~ni// /_}_090519.txt

Я хочу это

D:\BACKUPS\new_file_090519.txt

1 Ответ

1 голос
/ 10 мая 2019

Учитывая тег PowerShell, вот решение. Когда вы убедитесь, что копия будет выполнена правильно, удалите -WhatIf из командлета Copy-Item.

Get-ChildItem -File -Path 'C:/src/t/sv' |
    ForEach-Object {
        Copy-Item -Path $_.FullName `
            -Destination "C:/src/t/sv2/$($_.BaseName -replace ' ','_')_$(Get-Date -format 'ddMMyy')$($_.Extension)" -WhatIf
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...