Компьютерный форум 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=307250)

zaknafein 29-10-2015 08:53 2569290

Поиск копирование и вставка
 
Здравствуйте. Мне необходимо сделать батник который производит поиск по txt. Ищет, например, слово "Ключ=" и копирует 8 символов после него. Далее ищет в другом файле тоже "Ключ=" и вставляет те символы после него... понятия не имею как сделать это. Помогите плз.

greg zakharov 29-10-2015 10:57 2569325

zaknafein, приведите примеры текстовых файлов.

zaknafein 29-10-2015 11:37 2569336

Вложений: 2
greg zakharov, из 1.txt нужно скопировать 12345678 и заменить в 2.txt 00000000 чтобы в итоге в файле 2.txt получилось Ключ=12345678

greg zakharov 29-10-2015 11:49 2569343

inout.cmd
Код:

<# :
  @echo off
    setlocal
      set "i=0"
      for %%i in (%*) do set /a "i+=1"
      if "%i%" neq "2" (
        powershell /nop /ex bypass /com ^
        "&{Write-Host Argument is out of range. -fo red}"
        goto:eof
      )
      powershell /nop /ex bypass /sta /com ^
      "&{[ScriptBlock]::Create((gc '%~f0') -join [Char]10).Invoke(@(&{$args}%*))}"
    endlocal
  exit /b
#>

Add-Type -AssemblyName System.Windows.Forms
[Windows.Forms.Clipboard]::SetText(
  ([Regex]'(?i:(?<=ключ\=).{8})').Match((gc $args[0])).Value
)

(gc $args[1]) -replace 'ключ=.{8}', "ключ=$([Windows.Forms.Clipboard]::GetText())" |
Out-File $args[1] -Encoding Default

Пример работы:
Код:

C:\doc> inout.cmd 1.txt 2.txt
Можно в принципе обойтись без копирования в буфер и PowerShell.

zaknafein 29-10-2015 11:56 2569346

greg zakharov, спасибо большое... в жизни бы не написал бы)


Время: 17:28.

Время: 17:28.
© OSzone.net 2001-