2016-09-09 31 views
-2

Powershellを使用してFTPサイトからファイルを取得するには、このコードがStackoverflowにあります。 それは素晴らしい作品です、そして、私がしたいのは、ダウンロードした後にFPTサイトからファイルを削除することだけです。 このスクリプトを簡単に修正することはできますか? おかげで、これはコードの書き込みサービスではありませんが、ここでヒントです他の人が述べたようにWebclientとpowershellを使用してFTPサイトのファイルを削除する

#FTP Server Information - SET VARIABLES 
$ftp = "ftp://XXX.com/" 
$user = 'UserName' 
$pass = 'Password' 
$folder = 'FTP_Folder' 
$target = "C:\Folder\Folder1\" 

#SET CREDENTIALS 
$credentials = new-object System.Net.NetworkCredential($user, $pass) 

function Get-FtpDir ($url,$credentials) { 
    $request = [Net.WebRequest]::Create($url) 
    $request.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory 
    if ($credentials) { $request.Credentials = $credentials } 
    $response = $request.GetResponse() 
    $reader = New-Object IO.StreamReader $response.GetResponseStream() 
    $reader.ReadToEnd() 
    $reader.Close() 
    $response.Close() 
} 

#SET FOLDER PATH 
$folderPath= $ftp + "/" + $folder + "/" 

$Allfiles=Get-FTPDir -url $folderPath -credentials $credentials 
$files = ($Allfiles -split "`r`n") 

$files 

$webclient = New-Object System.Net.WebClient 
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass) 
$counter = 0 
foreach ($file in ($files | where {$_ -like "*.txt"})){ 
    $source=$folderPath + $file 
    $destination = $target + $file 
    $webclient.DownloadFile($source, $target+$file) 

    #PRINT FILE NAME AND COUNTER 
    $counter++ 
    $counter 
    $source 
} 
+1

を取得した後、私は削除を行うための新しい関数を作成はい、あります。しかし、これはコード作成サービスではありません。私たちは、あなたが書いたものを(おそらく)書き留め、あなたのために書き留めません。 –

答えて

2

私は、各ファイル

function Del-File($url,$credentials) { 
    $request2 = [Net.WebRequest]::Create($url) 
    $request2.Method = [System.Net.WebRequestMethods+FTP]::DeleteFile 
    if ($credentials) { $request2.Credentials = $credentials } 
    $response2 = $request2.GetResponse() 
} 
+0

素敵な償還! +1 – Gaspa79

関連する問題