我創建了以下文件執行特定任務的指示下載的文件重命名爲另一個目錄:搬遷與WinSCP賦予腳本
DataCollection.bat
- 打開的WinSCP,並在dailyimport.txt
Dailyimport.txt
運行命令 - 登錄到遠程FTP站點,並檢索三個*.csv
文件,並將它們重命名爲目標文件夾。
後來執行一個PHP腳本,將三個CSV文件中的數據導入到我的數據庫中。
我需要什麼,現在做的,在那裏我有一個問題是:
- 移動下載的文件(現在本地主機上)到一個新的目錄,並再次重命名它們,通過保持文件名稱並添加時間戳。
- 將FTP服務器上的文件移動到新目錄中。
請看看我的代碼,我有如下:
DataCollection.bat:
@echo off
winscp.com /script=dailyimport.txt
if %ERRORLEVEL% neq 0 goto error
echo Upload succeeded, moving local files
move "C:\DataImport\modules_flat_file_footer.csv" "C:\DataImport\Imported\modules_flat_file_footer.csv.%TIMESTAMP#yyyymmss%"
exit /b 0
:error
echo Upload failed, keeping local files
exit /b 1
dailyimport.txt:
# Connect
open ftp://myftpdetails/
# Change remote directory
cd /downloads/MySQL
# Force binary mode transfer
option transfer binary
# Download file to the local directory
get modules_flat_file_footer_*.csv "C:\DataImport\modules_flat_file_footer.csv"
# Disconnect
close
# Exit WinSCP
exit
也許一個愚蠢的問題,但如何批處理文件從PowerShell的有什麼不同?還有什麼額外的軟件需要安裝在Windows服務器上?道歉,即一個文件是由於測試,每個文件將有不同的名稱,即頁腳,標題,行。 導入的文件夾用於稍後將導入數據的PHP腳本。一旦導入成功運行,我希望它被移到這裏。 –
我的PHP腳本導入: LOAD DATA LOCAL INFILE 'DataImport // modules_flat_file_line.csv' REPLACE INTO TABLE daily_lines CHARACTER SET處理latin1 FIELDS TERMINATED BY '' 忽略1號線 因此,重命名一旦PHP腳本有運行 –
我已經添加了完整的批處理文件解決方案 –