我正在尝试制作一个批处理文件,其中列出文件夹和副导演中的所有文件,并导出到具有文件大小的 csv,我目前有这个:
@ECHO OFF &SETLOCAL
(FOR /f "delims=|" %%a IN ('dir /s /b /a-d') DO (
FOR /f "tokens=1-9*" %%x IN ('dir /b /a-d /tc "%%~a"^| C:\Windows\System32\findstr "^[0-9]"') DO (
ECHO %%a, %%z
)
))>DIR.csv
TYPE DIR.csv
Run Code Online (Sandbox Code Playgroud)
但我需要的是文件目录和文件路径作为单独的记录
我有下面的PowerShell脚本,可以将文件移动到我的亚马逊桶中,所有这些都适用于一些小文件,但是当复制较大的文件时,for循环继续循环并开始复制,然后其他人完成并且不需要很长时间在我有100个文件全部一次转移之前.
我想要的是能够将同时文件传输的数量限制为5或10?
foreach ($line in $csv) {
#--------------------Transfer files Put in a for each loop here---------------------------
$SourceFolder =$line.destination
$sourceFile = $line.name
if(test-Path -path $SourceFolder){
Write-S3Object -BucketName $BucketName -Key $sourceFile -File $SourceFolder
#check fro missing files
$S3GetRequest = New-Object Amazon.S3.Model.S3Object #get-S3Object -BucketName $BucketName -Key $sourceFile
$S3GetRequest = get-S3Object -BucketName $BucketName -Key $sourceFile
if($S3GetRequest -eq $null){
Write-Error "ERROR: Amazon S3 get requrest failed. Script halted."
$sourceFile + ",Transfer Error" |out-file $log_loc -append
}
}else {$SourceFolder + ",Missing File Error" |out-file $log_loc -append} …Run Code Online (Sandbox Code Playgroud)