Alexander_88
24-10-2021, 13:25
Здравствуйте, есть папка с bat файлами.. вот пример одного из них:
@echo off
setlocal
chcp 1251>nul
set quantity=20
set "source=C:\work\POSTS\01 start.txt"
set "destination=C:\work\Scripts\Create random posts\posts\01 start.txt"
set "border=//=================="
set "temp_file=%temp%\%random%.vbs"
for /f %%i in ('findstr /rx "%border:/=\/%" "%source%"^| find /c /v ""') do (
for /f %%j in ('set /a %%i-1') do if %%j lss %quantity% (call:# %%j %%j) else (call:# %%j %quantity%)
)
del "%temp_file%"
endlocal
exit /b
:#
for /l %%i in (1 1 %1) do call set $%%random%%= %%i
for /f "tokens=* delims=$0123456789=" %%i in ('set $') do (
set /a count+=1& for /f %%j in ('set /a count') do if %%j leq %2 (
>"%temp_file%" (echo WScript.StdOut.Write(Split(WScript.CreateObject("Scripting.FileSystemObject"^)_
echo .OpenTextFile("%source%"^).ReadAll(^),"%border%"^&vbCrLf^)(%%i^)^))
>>"%destination%" (cscript //nologo "%temp_file%"& cmd /v /c echo.!border!)) else exit /b
)
exit /b
необходим скрипт (на bat или powershell), который при запуске будет спрашивать число, которое я должен ввести.. а после ввода, прописать это число во всех bat файлах (папку с bat файлами и тоже должен задать).... Прописать это число нужно в выделенной мной строчке, в коде.
set quantity=20
т.е. к примеру если мы указываем число 40, то эта строчка должна стать такой:
set quantity=40
:)
@echo off
setlocal
chcp 1251>nul
set quantity=20
set "source=C:\work\POSTS\01 start.txt"
set "destination=C:\work\Scripts\Create random posts\posts\01 start.txt"
set "border=//=================="
set "temp_file=%temp%\%random%.vbs"
for /f %%i in ('findstr /rx "%border:/=\/%" "%source%"^| find /c /v ""') do (
for /f %%j in ('set /a %%i-1') do if %%j lss %quantity% (call:# %%j %%j) else (call:# %%j %quantity%)
)
del "%temp_file%"
endlocal
exit /b
:#
for /l %%i in (1 1 %1) do call set $%%random%%= %%i
for /f "tokens=* delims=$0123456789=" %%i in ('set $') do (
set /a count+=1& for /f %%j in ('set /a count') do if %%j leq %2 (
>"%temp_file%" (echo WScript.StdOut.Write(Split(WScript.CreateObject("Scripting.FileSystemObject"^)_
echo .OpenTextFile("%source%"^).ReadAll(^),"%border%"^&vbCrLf^)(%%i^)^))
>>"%destination%" (cscript //nologo "%temp_file%"& cmd /v /c echo.!border!)) else exit /b
)
exit /b
необходим скрипт (на bat или powershell), который при запуске будет спрашивать число, которое я должен ввести.. а после ввода, прописать это число во всех bat файлах (папку с bat файлами и тоже должен задать).... Прописать это число нужно в выделенной мной строчке, в коде.
set quantity=20
т.е. к примеру если мы указываем число 40, то эта строчка должна стать такой:
set quantity=40
:)