Skip to main content

fastcopy-file-transfer-accelerator

High-performance multi-threaded file copying and synchronization utility for Windows with advanced caching and verification

Aller à l'installation

Informations de source

Dépôt
reason-machines/devtools-skills
Dernière activité de la source
6 juillet 2026 à 16:35
Langue détectée de SKILL.md
anglais
Étoiles
4
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
fastcopy-file-transfer-accelerator
description
High-performance multi-threaded file copying and synchronization utility for Windows with advanced caching and verification
triggers
["how do I use fastcopy to copy files faster","configure fastcopy for maximum transfer speed","set up fastcopy with multiple streams","fastcopy command line options","create a fastcopy transfer profile","fastcopy verification and resume settings","optimize fastcopy buffer size","automate file copying with fastcopy"]
# FastCopy File Transfer Accelerator > Skill by [ara.so](https://ara.so) — Devtools Skills collection. FastCopy is a high-performance file copying and synchronization utility for Windows that uses multi-threaded I/O to maximize transfer speeds. It supports parallel streams, integrity verification, resume capabilities, and intelligent buffer management. ## Installation **Windows (Recommended):** ```powershell # Download from official source # Visit: https://fastcopy.jp/en/ # Or using winget winget install FastCopy # Portable version - extract to desired location Expand-Archive fastcopy-portable.zip -DestinationPath C:\Tools\FastCopy ``` **Add to PATH (optional):** ```powershell $env:PATH += ";C:\Program Files\FastCopy" # Or for portable: $env:PATH += ";C:\Tools\FastCopy" ``` ## Core Commands ### Basic Syntax ```cmd fastcopy.exe [source] [destination] [options] ``` ### Common Operations **Simple copy:** ```cmd fastcopy "C:\Source\Files" "D:\Backup\" /cmd=diff ``` **Mirror synchronization:** ```cmd fastcopy "C:\Projects" "E:\Archive\Projects" /cmd=sync /force_close ``` **Move files:** ```cmd fastcopy "C:\Temp\Downloads" "D:\Storage" /cmd=move ``` **Verify after copy:** ```cmd fastcopy "C:\Data" "\\NAS\Backup" /cmd=diff /verify ``` ## Key Command Options | Option | Description | Example | |--------|-------------|---------| | `/cmd=` | Copy mode: `diff`, `sync`, `move`, `delete` | `/cmd=sync` | | `/bufsize=` | Buffer size in MB (default: auto) | `/bufsize=256` | | `/verify` | Verify files after transfer | `/verify` | | `/linkdest` | Create hardlinks instead of copy | `/linkdest` | | `/exclude=` | Exclude patterns | `/exclude="*.tmp;*.log"` | | `/include=` | Include only patterns | `/include="*.jpg;*.png"` | | `/force_close` | Force close open files | `/force_close` | | `/log` | Enable logging | `/log` | | `/logfile=` | Specify log file path | `/logfile="C:\Logs\copy.log"` | | `/error_stop` | Stop on first error | `/error_stop` | | `/acl` | Copy ACL/permissions | `/acl` | | `/stream` | Copy alternate data streams | `/stream` | ## Configuration Profiles FastCopy uses `.ini` files for configuration. Create reusable profiles: **Example: High-Speed Transfer Profile** ```ini [main] bufsize=512 estimate=1 verify=1 wipe_del=0 acl=0 stream=0 reparse=0 verify_mode=0 maxhist=20 [SyncProfile] source=C:\Source dest=D:\Destination command=sync bufsize=256 verify=1 filter_mode=0 exclude=*.tmp;*.log;.git ``` **Load profile from command line:** ```cmd fastcopy /cmd=sync /ini="C:\FastCopy\profiles\backup.ini" ``` ## Advanced Usage Patterns ### Automated Backup Script ```batch @echo off REM backup-script.bat SET FASTCOPY="C:\Program Files\FastCopy\FastCopy.exe" SET SOURCE=C:\Important\Data SET DEST=E:\Backups\%DATE:~-4,4%%DATE:~-10,2%%DATE:~-7,2% SET LOGFILE=C:\Logs\backup-%DATE:~-4,4%%DATE:~-10,2%%DATE:~-7,2%.log REM Create timestamped backup with verification %FASTCOPY% "%SOURCE%" "%DEST%" ^ /cmd=diff ^ /bufsize=256 ^ /verify ^ /acl ^ /stream ^ /error_stop ^ /log ^ /logfile="%LOGFILE%" ^ /exclude="*.tmp;*.cache;thumbs.db" ^ /force_close if %ERRORLEVEL% EQU 0 ( echo Backup completed successfully ) else ( echo Backup failed with error %ERRORLEVEL% exit /b %ERRORLEVEL% ) ``` ### PowerShell Integration ```powershell # fastcopy-wrapper.ps1 function Invoke-FastCopy { param( [Parameter(Mandatory=$true)] [string]$Source, [Parameter(Mandatory=$true)] [string]$Destination, [ValidateSet('diff', 'sync', 'move', 'delete')] [string]$Mode = 'diff', [int]$BufferSize = 256, [switch]$Verify, [string[]]$Exclude = @(), [string]$LogPath ) $fastcopyPath = "C:\Program Files\FastCopy\FastCopy.exe" $arguments = @( "`"$Source`"", "`"$Destination`"", "/cmd=$Mode", "/bufsize=$BufferSize" ) if ($Verify) { $arguments += "/verify" } if ($Exclude.Count -gt 0) { $excludePattern = $Exclude -join ";" $arguments += "/exclude=`"$excludePattern`"" } if ($LogPath) { $arguments += "/log" $arguments += "/logfile=`"$LogPath`"" } $arguments += "/force_close" Write-Host "Starting FastCopy: $($arguments -join ' ')" & $fastcopyPath $arguments if ($LASTEXITCODE -eq 0) { Write-Host "Transfer completed successfully" -ForegroundColor Green return $true } else { Write-Host "Transfer failed with exit code: $LASTEXITCODE" -ForegroundColor Red return $false } } # Usage example Invoke-FastCopy ` -Source "C:\Projects" ` -Destination "\\NAS\Backup\Projects" ` -Mode sync ` -BufferSize 512 ` -Verify ` -Exclude @("*.tmp", "*.log", "node_modules", ".git") ` -LogPath "C:\Logs\project-sync.log" ``` ### Network Transfer Optimization ```cmd REM For network transfers (SMB/CIFS), optimize buffer and streams fastcopy "C:\LocalData" "\\RemoteServer\Share\Data" ^ /cmd=sync ^ /bufsize=512 ^ /verify ^ /no_ui ^ /force_close ^ /acl ^ /log REM For very large files (video, databases), increase buffer fastcopy "C:\Videos" "D:\Archive" ^ /cmd=diff ^ /bufsize=1024 ^ /verify ``` ## Scheduled Task Integration **Create scheduled backup (PowerShell):** ```powershell $action = New-ScheduledTaskAction ` -Execute "C:\Program Files\FastCopy\FastCopy.exe" ` -Argument '"C:\Data" "E:\Backup" /cmd=sync /verify /log /force_close' $trigger = New-ScheduledTaskTrigger -Daily -At 2am $principal = New-ScheduledTaskPrincipal ` -UserId "SYSTEM" ` -LogonType ServiceAccount ` -RunLevel Highest Register-ScheduledTask ` -TaskName "FastCopy Daily Backup" ` -Action $action ` -Trigger $trigger ` -Principal $principal ` -Description "Automated daily backup using FastCopy" ``` ## Performance Tuning ### Buffer Size Selection ```cmd REM Small files (< 100MB total): 32-64MB buffer fastcopy "C:\Documents" "D:\Backup" /cmd=diff /bufsize=64 REM Medium files (100MB-10GB): 128-256MB buffer fastcopy "C:\Projects" "E:\Archive" /cmd=sync /bufsize=256 REM Large files (> 10GB): 512-1024MB buffer fastcopy "C:\Videos" "F:\Media" /cmd=diff /bufsize=1024 REM Network transfers: 256-512MB buffer fastcopy "C:\Data" "\\NAS\Share" /cmd=sync /bufsize=512 ``` ### Exclude Common Temporary Files ```cmd fastcopy "C:\Development" "D:\Backup\Dev" ^ /cmd=sync ^ /exclude="*.tmp;*.log;*.cache;node_modules;.git;.svn;bin;obj;target;__pycache__;.vs;.vscode;*.swp;*.swo;Thumbs.db;.DS_Store" ``` ## Common Patterns ### Mirror Backup (Delete Removed Files) ```cmd REM Sync mode mirrors source to destination (deletes extra files) fastcopy "C:\ActiveProject" "E:\Backups\ActiveProject" ^ /cmd=sync ^ /verify ^ /log ``` ### Incremental Backup (Keep Extra Files) ```cmd REM Diff mode only copies new/changed files (keeps extra files) fastcopy "C:\ActiveProject" "E:\Backups\ActiveProject" ^ /cmd=diff ^ /verify ^ /log ``` ### Safe Move with Verification ```cmd fastcopy "C:\Completed\Archive" "D:\LongTerm\Archive" ^ /cmd=move ^ /verify ^ /error_stop ^ /log ``` ### Hardlink Deduplication ```cmd REM Create hardlinks for duplicate files to save space fastcopy "C:\Media" "D:\Deduplicated" ^ /cmd=diff ^ /linkdest ^ /verify ``` ## Troubleshooting ### Access Denied Errors ```cmd REM Run with elevated privileges and force close open files fastcopy "C:\LockedFiles" "D:\Backup" ^ /cmd=diff ^ /force_close ^ /acl REM Skip files that can't be accessed fastcopy "C:\System" "D:\Backup" ^ /cmd=diff ^ /skip_empty_dir ^ /verify ``` ### Network Path Issues ```cmd REM Use UNC paths explicitly fastcopy "\\Server1\Share\Data" "\\Server2\Backup\Data" ^ /cmd=sync ^ /bufsize=256 ^ /force_close REM Map network drive first if UNC fails net use Z: \\Server\Share /user:DOMAIN\Username fastcopy "C:\Local" "Z:\Backup" /cmd=sync net use Z: /delete ``` ### Verify Failures ```cmd REM Check disk space and permissions fastcopy "C:\Source" "D:\Dest" ^ /cmd=diff ^ /verify ^ /log ^ /logfile="C:\Logs\verify-debug.log" REM Review log for specific verification errors ``` ### Performance Issues ```cmd REM Reduce buffer size if running out of memory fastcopy "C:\Data" "D:\Backup" /cmd=diff /bufsize=64 REM Disable verification for initial bulk transfer fastcopy "C:\Massive" "E:\Archive" /cmd=diff /bufsize=512 REM Then verify separately fastcopy "C:\Massive" "E:\Archive" /cmd=diff /verify /open_window ``` ## Exit Codes - `0` - Success - `1` - Error occurred during copy - `2` - Fatal error (unable to continue) - `3` - User cancelled operation **Handle exit codes in scripts:** ```batch @echo off fastcopy "C:\Source" "D:\Dest" /cmd=sync /verify if %ERRORLEVEL% EQU 0 ( echo Success exit /b 0 ) else if %ERRORLEVEL% EQU 1 ( echo Partial failure - check logs exit /b 1 ) else ( echo Fatal error exit /b 2 ) ``` ## Environment Variables ```powershell # Set default FastCopy path $env:FASTCOPY_PATH = "C:\Program Files\FastCopy\FastCopy.exe" # Set default log directory $env:FASTCOPY_LOGS = "C:\Logs\FastCopy" ``` Use in scripts: ```batch %FASTCOPY_PATH% "C:\Source" "D:\Dest" /log /logfile="%FASTCOPY_LOGS%\copy.log" ```
Voir sur GitHub