Войти

Показать полную графическую версию : Батник на 3 простых действия


denisska
22-08-2023, 11:03
Здравствуйте. Есть вопрос, который не могу решить вот уже 3 дня, как ни пытался самостоятельно.


Исходные данные
Есть каталог с файлами .txt. В каждом файле количество строк разное. Содержание каждого файла:

234324;http://site.com/1/
464565;http://site.com/3432/
546456;http://site.com/11323/
456456;http://site.com/667667/
...
7899;http://site.com/n/


Что должен делать батник?
1. В каждом файле оставить только 3 первых строки, остальные удалить.
2. В каждом файле оставить только ссылки. Цифры, которые расположены перед ссылками и символ ";" удалить
3. Выбирать рандомно при каждом запуске 3 файла, склеивать данные и создавать новый файл с этими данными.


Что должно получиться в итоге?

При запуске батника должен получиться новый файл в таком виде:
http://site.com/1/
http://site.com/323423/
http://site.com/76867/

http://site.com/342/
http://site.com/657979/
http://site.com/13131/

http://site.com/4554/
http://site.com/4565756/
http://site.com/676867756647/




Всем заранее благодарен за помощь ибо своих сил и знаний не хватает для реализации.

Serguei Kouzmine
22-08-2023, 15:28
своих сил и знаний не хватает для реализации 3 простых действия ? - реализуйте 2 или 1 и приходите

DJ Mogarych
22-08-2023, 16:17
Powershell

# Каталог с файлами .txt
$srcDir = "D:\temp"
# Папка для нового файла
$dstDir = "D:\temp"

$outFile = "$(get-date -f "yyyy-MM-dd-HH-mm-ss").txt"
dir "$srcDir\*.txt" |get-random -Count 3 |% {
(gc $_.fullname |select -first 3) -replace '^\d+;' |Out-File "$dstDir\$outFile" -Append -Encoding default
"" |Out-File "$dstDir\$outFile" -Append -Encoding default
}




© OSzone.net 2001-2012