作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我目前有一个 CSV,其中包含列出许多文件全名的 1 列。 (即“\\server\sub\folder\file.ext”)。
我正在尝试导入此 CSV,将文件移动到单独的位置并将 GUID 附加到新位置文件名的开头(即 GUID_File.ext)。我已经能够移动文件,生成 GUID_,但无法存储和重用现有的 filename.ext,它只是被切断,文件最终只是一个 GUID_。我只是不确定如何存储现有文件名以供重用。
$Doc = Import-CSV C:\Temp\scripttest.csv
ForEach ($line in $Doc)
{
$FileBase = $Line.basename
$FileExt = $Line.extension
Copy-Item -path $line.File -Destination "\\Server\Folder\$((new-guid).guid.replace('-',''))_$($Filebase)$($FileExt)"
}
如果可能,我还需要将所有新的 GUID_File.ext 存储并放回 CSV 文件中,并将任何错误存储到另一个文件中。
最佳答案
I currently have a CSV which contains 1 column that lists many file FullNames. (ie. "\server\sub\folder\file.ext").
这不是 CSV。它只是一个带有列表的纯文本文件。
但是,您可以通过以下方式实现目标:
foreach ($path in (Get-Content -Path C:\Temp\scripttest.csv))
{
$file = [System.IO.FileInfo]$path
$prefix = (New-Guid).Guid -replace '-'
Copy-Item -Path $file.FullName -Destination "\\Server\Folder\${prefix}_$file"
}
这将获取您的列表,将项目转换为它可以使用的 FileInfo
类型,然后执行其余的逻辑。
关于windows - 如何将 GUID 附加到现有文件名并保存为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52066991/
我是一名优秀的程序员,十分优秀!