Как создать сценарий PowerShell для проверки наличия в текстовых файлах более 1 строки текста? - PullRequest
1 голос
/ 04 февраля 2010

Итак, у меня есть много файлов .txt. Мне нужно для этого, чтобы переместить текстовые файлы в определенную папку, если они имеют более 1 строки. То есть

Text text text
Blah blah blah

Но оставь это в покое, если это просто

Text text text

Есть предложения, как это сделать? Это на Windows XP, если это помогает. Спасибо!

РЕДАКТИРОВАТЬ: Спасибо Джон за ваши усилия. Придумал способ сделать это в PowerShell

# Specify folder name that will contain the filtered .txt files
$goodFolder = "Filtered"

get-childitem *.txt | foreach ($_) {
$a = get-Content $_.fullname | Measure-Object

# If more than one line is found in text file, move it. Otherwise, leave it alone
If ($a.Count -gt 1) {   # If there is more than one line found in txt file
    Move-Item $_.fullname $goodFolder       # Then move it to a folder with text files with more than 1 line
}
}

1 Ответ

0 голосов
/ 05 февраля 2010

Примечание. Первоначальный вопрос заключался в том, как сделать это в файле .bat.

Этот ответ является решением исходного вопроса. Это не решение PowerShell.

сохранить как clines.bat

@echo off
setlocal enabledelayedexpansion
set clines = 0
for /F %%J in (%1) do set /A clines = !clines! + 1
if %clines% LEQ 1 goto finis

rem @echo %1 has %clines% lines
move %1 %2

:finis
endlocal

, а затем вызвать его в другом пакетном файле, который перебирает файлы

@echo off
for %%I in (*.txt) do call clines.bat %%I newfolder
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...