Войти

Показать полную графическую версию : [решено] Цикл в Powershell


laipisas02
27-07-2010, 22:44
Добрый вечер.

Имею вот такой вот рабочий батник :

@echo off

set "sftp_home=D:\- BACKUP\SFTP"
set "sgw_home=D:\- Applications\SGW"
set "sgw_backup=D:\- BACKUP\SGW"
set XML_PREFIX=ping

if not exist "%sftp_home%\*.xml" exit /b 0

for %%a in ("%sftp_home%\%XML_PREFIX%*.xml") do (
ren "%%a" %XML_PREFIX%.xml
copy /y "%%a" "%sgw_backup%" 1>nul 2>&1
copy /y "%%a" "%sgw_backup%\incoming" 1>nul 2>&1
move /y "%%a" "%sgw_home%\sending\%XML_PREFIX%.xml" 1>nul 2>&1
call "%sgw_home%\send.bat"
)
del /f /q "%sgw_home%\sending\%XML_PREFIX%.xml"

Необходимо его переделать в Powershell. Немогу реализовать цикл. То есть при переименовании я получаю ошибку по поводу Multiple Items.. Cannot Rename..
Как правильно реализовать цикл в Powershell'е ?

Radchin
02-08-2010, 11:59
Честно говоря, ни черта не понял, что должен делать Ваш сценарий, но цикл в данном случае можно реализовать примерно одним из из следующих образов:


#так

foreach ($file in Get-ChildItem D:\- BACKUP\SFTP) {
Write-Host $file
Write-Host $file.length
Write-Host $file.lastaccesstime
}




#или так

Get-ChildItem D:\- BACKUP\SFTP | foreach-object {
Write-Host $_
Write-Host $_.length
Write-Host $_.lastaccesstime
}

laipisas02
02-08-2010, 12:51
Спасибо. То что надо.




© OSzone.net 2001-2012