# Windows 10/11 或 Windows Server
# 通过控制面板或 PowerShell 安装
# PowerShell 命令(管理员权限):
Enable-WindowsOptionalFeature -Online -FeatureName IIS-FTPServer
Enable-WindowsOptionalFeature -Online -FeatureName IIS-FTPServer-FTPS
# 创建 FTP 根目录
mkdir C:\FTPRoot
# 创建测试文件
echo Hello FTP > C:\FTPRoot\test.txt
MyLocalFTPC:\FTPRoot# 为 FTP 目录设置权限
icacls C:\FTPRoot /grant "Users:(OI)(CI)RW"
# 创建 FTP 专用用户(可选)
net user FTPUser P@ssw0rd /add
# 授予目录权限
icacls C:\FTPRoot /grant FTPUser:(OI)(CI)RW
# 允许 FTP 通过防火墙
netsh advfirewall firewall add rule name="FTP Server" dir=in action=allow protocol=TCP localport=21
# 如果使用被动模式,还需要开放端口范围
netsh advfirewall firewall add rule name="FTP Passive Ports" dir=in action=allow protocol=TCP localport=50000-50100
<!-- 编辑 applicationHost.config -->
<location path="MyLocalFTP">
<system.ftpServer>
<security>
<requestFiltering>
<fileExtensions allowUnlisted="false">
<!-- 只允许特定文件 -->
<add fileExtension=".txt" allowed="true"/>
</fileExtensions>
</requestFiltering>
</security>
</system.ftpServer>
</location>
ftp localhost
# 输入用户名密码
# 使用命令:dir, put, get, bye
ftp://localhost 或 ftp://你的IP地址# 检查服务状态
sc query FTPSVC
# 重启服务
net stop FTPSVC && net start FTPSVC
C:\inetpub\logs\FTP
# 快速安装配置脚本(管理员运行)
$FTPPath = "C:\FTPRoot"
# 创建目录
New-Item -ItemType Directory -Path $FTPPath -Force
# 安装服务
Install-WindowsFeature -Name Web-FTP-Server, Web-FTP-Service
# 创建站点
Import-Module WebAdministration
New-WebFtpSite -Name "QuickFTP" -PhysicalPath $FTPPath -Port 21
# 设置权限
icacls $FTPPath /grant "IIS_IUSRS:(OI)(CI)R"
这样配置后,本地 FTP 服务器就可以正常运行了。根据实际需求调整安全设置和权限配置。