Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как копировать файл по определенному содержимому (http://forum.oszone.net/showthread.php?t=264152)

Kotan 11-07-2013 14:31 2183113

Как копировать файл по определенному содержимому
 
Есть файлы XML вида *.DAT, нужно при нахождении в определенных из них тега </ED211>, копировать эти файлы в определенный каталог C:\ED211

Iska 11-07-2013 14:42 2183118

Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=C:\Песочница\019
set sDestFolder=C:\ED211

if exist "%sSourceFolder%" (
        if exist "%sDestFolder%" (
                for /f "usebackq delims=" %%i in (
                        `findstr.exe /m /c:"</ED211>" "%sSourceFolder%\*.dat"`
                ) do >nul copy "%%~i" "%sDestFolder%\*.*"
        ) else (
                echo Can't find destination folder [%sDestFolder%].
        )
) else (
        echo Can't find source folder [%sSourceFolder%].
)

endlocal
exit /b 0


Kotan 11-07-2013 14:52 2183123

Спасибо большое, попробую!

sunnykey 11-07-2013 14:58 2183130

Код:

#Powershell script.
#Don't forget unlock script executing by
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
#Save this file with ".ps1" extension
gci -Path 'C:\Песочница\019\*' -Include "*.dat" | foreach {
    if (($_ | Get-Content | Select-String -Pattern "</ED211>") -ne $null) {
        $_ | Copy-Item -Destination 'C:\ED211' -ErrorAction SilentlyContinue
    }
}



Время: 04:54.

Время: 04:54.
© OSzone.net 2001-