我正在尝试将文件夹中所有现有文件的副本与另一个文件夹进行副本。但是我的名字有空白
的问题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:BACKUPSnew_file_090519.txt
给定PowerShell标签,这是一个解决方案。当您满意副本可以正确完成时,请从Copy-Item
CMDLET中删除-WhatIf
。
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
}