Permalänk

Batch filer på begäran.

Någon som behöver en batch fil för någonting specifikt?
Är ganska så rastlös idag, tisdag, så kom med önskemål så ska jag göra mitt bästa.

Jag har hållt på ett tag med batch nu, men kan inte lova att jag kan skapa allt möjligt.

Batch-fil för att starta Steam i offline läge utan internet-anslutning.
Gjorde denna igår eller i förrgår. Skall placeras i Steam-mappen. Skapa en genväg till den för enkelhetens skull.

@ECHO OFF
COLOR F

title Steam offline launcher by HElephant
mode con cols=52 lines=27

SET version=Version 1.0.0

SET SODT1=###################################################
SET SODT2=# #
SET SODT3=# Steam offline launcher by HElephant #
SET SODT4=# #
SET SODT5=# %version% #
SET SODT6=# #
SET SODT7=###################################################
CLS

:CREATEINFOFILE
IF EXIST "SteamOfflineInfo.txt" DEL "SteamOfflineInfo.txt"
ECHO First of, this file has to be placed in the main Steam directory, otherwise it won't work. >> SteamOfflineInfo.txt
ECHO. >> SteamOfflineInfo.txt
ECHO VERY IMPORTANT #1: >> SteamOfflineInfo.txt
ECHO This .bat file deletes/overwrites any existing "steam.cfg" files once it has been run. >> SteamOfflineInfo.txt
ECHO. >> SteamOfflineInfo.txt
ECHO VERY IMPORTANT #2: >> SteamOfflineInfo.txt
ECHO You need to have your account information stored on your computer. >> SteamOfflineInfo.txt
ECHO To store your account information on your computer, login normally without the .bat file and type in your account name and password. Tick the checkbox for "Remember my password". Now that you have the information stored, close Steam and run the .bat file and it should open a Steam window saying "Connection Error" having a few options, "Retry connection", "Start in offline mode" and "Quit". Select "Start in offline mode" and it should start in offline mode. >> SteamOfflineInfo.txt
ECHO. >> SteamOfflineInfo.txt
ECHO VERY IMPORTANT #3: >> SteamOfflineInfo.txt
ECHO If you encounter any kind of problem starting Steam normally, make sure "steam.cfg" is removed or correctly modified.>> SteamOfflineInfo.txt
CLS

:HOME
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO Welcome to the Steam offline launcher by HElephant!
ECHO.
ECHO If this is the first time you run this thing,
ECHO it's highly recommended that you read the
ECHO "SteamOfflineInfo.txt" before you proceed since
ECHO this thing modifies and removes files. There's
ECHO also some information in case you have any kind
ECHO of problem starting in offline mode.
ECHO.
ECHO.
ECHO 1. Start in offline mode.
ECHO 2. Information.
ECHO 3. Exit.
ECHO.
set /p OfflineOrInfo=Choice:
IF '%OfflineOrInfo%' == '1' GOTO :CHECK
IF '%OfflineOrInfo%' == '2' start NOTepad.exe "SteamOfflineInfo.txt"&GOTO :HOME
IF '%OfflineOrInfo%' == '3' EXIT
if NOT defined OfflineOrInfo CLS&goto home

:CHECK
COLOR F
CLS
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.

:CFGCHK
IF EXIST "steam.cfg" ECHO Found "steam.cfg".&ECHO Deleting and creating new...&PING localhost -n 3 >nul

:CREATE
IF EXIST "steam.cfg" DEL "steam.cfg"
ECHO BootStrapperInhibitAll=enable >> steam.cfg
ECHO ForceOfflineMode=enable >> steam.cfg
PING localhost -n 2 >nul
GOTO :STEAMSTART

:STEAMSTART
COLOR F
CLS
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO Attempting to start Steam in offline mode, please wait...
start steam.exe
GOTO :FINISH

:FINISH
COLOR F
CLS
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO It's recommended to keep this windows running
ECHO while Steam is still active.
ECHO Once you have exited Steam or just want to exit
ECHO this thing, type "S" (without quotes) down below
ECHO and press enter.
ECHO.
ECHO.
ECHO S. Reverts changes and exits this window.
ECHO.
set /p finishoption=Choice:
IF '%finishoption%' == 'S' GOTO :REVERT
IF '%finishoption%' == 's' GOTO :REVERT
if NOT defined homeoption GOTO :FINISH

:REVERT
IF EXIST "steam.cfg" DEL steam.cfg&GOTO THANKYOU
IF NOT EXIST "steam.cfg" GOTO :EXITERROR

:THANKYOU
COLOR F
CLS
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO Thank you for using this thing.
ECHO Exiting in 5 seconds...
PING localhost -n 5 >nul
EXIT

:EXITERROR
COLOR C
CLS
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO ERROR: It seems like the "steam.cfg" has been
ECHO removed or renamed. It doesn't exist.
ECHO.
ECHO Exiting in 5 seconds...
PING localhost -n 5 >nul

Dold text

Batch-fil för att aktivera samt avaktivera administratör-kontot i Windows.
Testat och fungerar i Windows 7, men testa gärna på andra versioner och meddela om det fungerar eller ej.

@ECHO OFF

COLOR F

TITLE Windows administrator account (de)activator by HElephant
MODE con cols=61 lines=27

SET version=Version 1.0.0
SET ADMIN=net user administrator /active

SET SODT1=############################################################
SET SODT2=# #
SET SODT3=# Windows administrator account (de)activator by HElephant #
SET SODT4=# #
SET SODT5=# %version% #
SET SODT6=# #
SET SODT7=############################################################
CLS

:HOME
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO Welcome to the Windows administrator account (de)activator
ECHO by HElephant!
ECHO.
ECHO.
ECHO 1. Activate administrator account.
ECHO 2. Deactivate administrator account.
ECHO 3. Exit.
ECHO.
set /p HomeOption=Choice:
IF '%HomeOption%' == '1' GOTO :ACTIVATE
IF '%HomeOption%' == '2' GOTO :DEACTIVATE
IF '%HomeOption%' == '3' EXIT
if NOT defined HomeOption CLS&goto home

:ACTIVATE
COLOR A
CLS
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO Activating Windows administrator account...
PING localhost -n 4 >nul
%ADMIN%:YES
SET ACTIVATEDYESNO=activated

GOTO :END

:DEACTIVATE
COLOR C
CLS
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO Deactivating Windows administrator account...
PING localhost -n 4 >nul
%ADMIN%:NO
SET ACTIVATEDYESNO=deactivated

GOTO :END

:END
COLOR F
CLS
ECHO %SODT1%
ECHO %SODT2%
ECHO %SODT3%
ECHO %SODT4%
ECHO %SODT5%
ECHO %SODT6%
ECHO %SODT7%
ECHO.
ECHO The Windows administrator account has been %ACTIVATEDYESNO%.
ECHO.
ECHO.
ECHO Press any key to exit.
PAUSE >NUL
exit

Dold text

EDIT: Jag rekommenderar att ni laddar ner batch filerna istället för att kopiera från spoilern. Blir fel annars. Se spoilern som en "overview".

Visa signatur

« CITERA FÖR SVAR »

CPU: AMD Ryzen 7 3700X ║ MB: ASUS X570-PLUS ║ RAM: 32GB ║ GPU: GeForce GTX 1080 ║ PSU: EVGA SuperNOVA 750 G2 ║ SSD: Samsung 970 EVO+ 500GB ║

Permalänk

Kan du inte göra något nyttigt istället? Lär dig ett riktigt språk och skriv lite roliga program There are endless possibilities. But not with batch

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Håller med KurreKula, lär dig ett riktigt språk tex Python som inte är så avancerat. Med Python kan du göra allt som Batch kan göra men har massor av flär ännu roligare funktioner Det är inte så mycket svårare än Batch heller

Tutorials: http://thenewboston.org/list.php?cat=36 (Följ dessa och du kommer vara igång på några dagar)
Hemsida: www.python.org

Edit: Men lägg inte ner denna tråden, den kan nog komma till användning många gånger

Permalänk
Skrivet av KurreKula:

Kan du inte göra något nyttigt istället? Lär dig ett riktigt språk och skriv lite roliga program There are endless possibilities. But not with batch

Skrivet av Kabeltv:

Håller med KurreKula, lär dig ett riktigt språk tex Python som inte är så avancerat. Med Python kan du göra allt som Batch kan göra men har massor av flär ännu roligare funktioner Det är inte så mycket svårare än Batch heller

Tutorials: http://thenewboston.org/list.php?cat=36 (Följ dessa och du kommer vara igång på några dagar)
Hemsida: www.python.org

Edit: Men lägg inte ner denna tråden, den kan nog komma till användning många gånger

Lär mig C++ faktiskt!

Visa signatur

« CITERA FÖR SVAR »

CPU: AMD Ryzen 7 3700X ║ MB: ASUS X570-PLUS ║ RAM: 32GB ║ GPU: GeForce GTX 1080 ║ PSU: EVGA SuperNOVA 750 G2 ║ SSD: Samsung 970 EVO+ 500GB ║

Permalänk
Legendarisk

Om du vill scripta till Windows så bör du kika på Powershell istället för gamla batchfiler. Alternativt Python, Ruby m.fl. ifall du vill lära dig något mer portabelt.

Skickades från m.sweclockers.com

Visa signatur

Abstractions all the way down.

Permalänk
Medlem
Skrivet av KurreKula:

There are endless possibilities. But not with batch

Oj, jag som gjorde en komplett OS Deployment-miljö för XP med W98 Dos och batch-filer.

PXE-boot
MAC-kontroll så bara datorer som skulle installeras om gick att installera om
Automatisk identifiering av PCI-enheter så rätt drivrutiner kopierades till datorn
Antingen helautomatiskt eller så kunde man ändra vissa saker om man ville (typ datornamnet)
Schemalagda installationer nattetid

Tog 15 minuter att blåsa om en dator med XP SP3 (något optimerad installation iof.) på P4 och 100 Mb-nät.

Sen blev det SCCM för OS Deployment, nu tar det över 15 minuter att få ner första WIM:en på en ny dator.

Visa signatur

mb = millibit!

Permalänk
Medlem

Kan lägga in en begäran också då jag inte hinner fixa mitt lilla problem eftersom jag hänger på forum istället...

Har ett antal filer i en och samma katalog, de heter Fil1.txt, Fil2.txt, Fil3.txt o.s.v.
Behöver ha alla dessa filer till en fil, men utan första raden i alla filerna, förutom Fil1.txt där ska första raden vara med.

Första raden är identisk i alla filerna.

Visa signatur

mb = millibit!

Permalänk
Legendarisk
Skrivet av Skrotis:

Kan lägga in en begäran också då jag inte hinner fixa mitt lilla problem eftersom jag hänger på forum istället...

Har ett antal filer i en och samma katalog, de heter Fil1.txt, Fil2.txt, Fil3.txt o.s.v.
Behöver ha alla dessa filer till en fil, men utan första raden i alla filerna, förutom Fil1.txt där ska första raden vara med.

Första raden är identisk i alla filerna.

Med PS:

$filename = "out.txt" $pattern = "^Fil\d+\.txt$" $n = 0; Get-ChildItem | # Hitta alla filer i katalogen Where-Object {$_.Name -match $pattern} | # Som matchar mönstret Sort-Object Name | # Sortera efter namn foreach { # För varje träff if($n++ -eq 0) # Om det är den första filen { Get-Content $_.Name | # Öppna källfilen Set-Content $filename # Skapa en ny fil med innehållet } else # Annars { Get-Content $_.Name | # Öppna källfilen Select -Skip 1 | # Skippa första raden Add-Content $filename # Lägg till i den nya filen } }

Skickades från m.sweclockers.com

Visa signatur

Abstractions all the way down.

Permalänk
Medlem

Smidigt, fast nu var det ju batchfil jag behövde eftersom den ska in i en befintlig, men tack ändå.

Visa signatur

mb = millibit!

Permalänk
Legendarisk
Skrivet av Skrotis:

Smidigt, fast nu var det ju batchfil jag behövde eftersom den ska in i en befintlig, men tack ändå.

Du kan ju alltid anropa det från den existerande batchfilen.

Skickades från m.sweclockers.com

Visa signatur

Abstractions all the way down.

Permalänk
Medlem

Det förutsätter att Powershell finns installerat (vilket det inte gör), att man ändrat inställningarna för Powershell så att alla script får köras eller så måste man signera scriptet och dona.

Så att ha det i batch-filen är aningens enklare.

Edit så här blev det:
set of=out.txt
set /p h=<Fil1.txt
echo %h% >"%of%"
for /f "tokens=*" %%F in ('dir /b "fil*.txt"') do type "%%F" | findstr /v "%h%" >>"%of%"

Visa signatur

mb = millibit!

Permalänk
Legendarisk
Skrivet av Skrotis:

Det förutsätter att Powershell finns installerat (vilket det inte gör), att man ändrat inställningarna för Powershell så att alla script får köras eller så måste man signera scriptet och dona.

Så att ha det i batch-filen är aningens enklare.

Edit så här blev det:
set of=out.txt
set /p h=<Fil1.txt
echo %h% >"%of%"
for /f "tokens=*" %%F in ('dir /b "fil*.txt"') do type "%%F" | findstr /v "%h%" >>"%of%"

Det gör det, antog att de flesta hade det vid det här laget (har ju funnits sedan XP). Smidig lösning though, blev ju faktiskt kortare äs PS-varianten, om än mer kryptisk. ^_^

Skickades från m.sweclockers.com

Visa signatur

Abstractions all the way down.

Permalänk
Medlem

Har inte sett många som installerat Powershell på W2K3 om det inte krävts av någon Microsoft-produkt som Exchange eller SQL.

Förstår inte vad du menar med kryptisk, är ju självförklarande.

Fast PS-varianten skulle man också kunna köra på 4 rader om man inte gjorde den så pedagogisk och även korta ner med gc, sc o.s.v., den skulle bli aningens mer kryptisk då.

Visa signatur

mb = millibit!

Permalänk
Skrivet av Skrotis:

Oj, jag som gjorde en komplett OS Deployment-miljö för XP med W98 Dos och batch-filer.

PXE-boot
MAC-kontroll så bara datorer som skulle installeras om gick att installera om
Automatisk identifiering av PCI-enheter så rätt drivrutiner kopierades till datorn
Antingen helautomatiskt eller så kunde man ändra vissa saker om man ville (typ datornamnet)
Schemalagda installationer nattetid

Tog 15 minuter att blåsa om en dator med XP SP3 (något optimerad installation iof.) på P4 och 100 Mb-nät.

Sen blev det SCCM för OS Deployment, nu tar det över 15 minuter att få ner första WIM:en på en ny dator.

Jo, jag vet att det går att göra det. Har jobbat med att göra det. Tränade med de som var ansvariga för det på Microsoft i redmond så jag har bra koll på vad man kan göra. Men frågan är varför man ska göra det. Vissa saker måste göras med batch. I detta fallet handlade det om recovery-miljöer som skrev om MBR och bootade ett script som applyande en WIM-fil.

Men att deploya windows görs med fördel med WDS och MDT. Finns oftast ingen anledning att göra det med egna batch-script. Ett riktigt språk har man mycket mer nytta av att kunna.

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Som sagt, WDS, MDT och SCCM tar betydligt längre tid för varje dator att depolya i den nya lösningen, trots bättre hårdvara ppå servrar och klienter.

Eftersom det dessutom inte är Zero Touch (ja, det går att få till med SCCM, men inte i denna lösning just nu) så tar det rejält mer med tid i anspråk per dator.

Så allt var snabbare med batch-lösningen det är väl den stora anledningen i detta fall.

Men jag invände mest mot var det jag citerade, du kan göra ganska avancerade saker med batch, vilket brukar chockera framförallt Linux-tokar =).

Självklart är riktiga skriptspråk bättre, t.ex. Powershell om man enbart jobbar i Windows-miljö eller Perl/Python/PHP om du vill köra crossplattform.

Men den stora fördelen med batch-filer är att de fungerar på alla Windows-maskiner direkt om du skrivet de korrekt, du slipper börja med att installera script-språket och ha koll på vilken version som är installerad och vilken version av dependecies (.Net Framework för Powershell).

Visa signatur

mb = millibit!

Permalänk

Märkte först nu då jag kikade runt på mina gamla trådar att det hade kommit requests. Jag ber om ursäkt

Visa signatur

« CITERA FÖR SVAR »

CPU: AMD Ryzen 7 3700X ║ MB: ASUS X570-PLUS ║ RAM: 32GB ║ GPU: GeForce GTX 1080 ║ PSU: EVGA SuperNOVA 750 G2 ║ SSD: Samsung 970 EVO+ 500GB ║