Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBS - Eingabe in einer InputBox in einer txt ausgeben

Frage Entwicklung VB for Applications

Mitglied: Pepper-jk

Pepper-jk (Level 1) - Jetzt verbinden

31.03.2009, aktualisiert 18:43 Uhr, 20563 Aufrufe, 15 Kommentare

Hallo alle zusammen

Ich habe folgenden Quelltext:

dim username
username=inputbox ("Please enter your Username:","Input","Username")

Wie kann ich dem Script jetzt sagen, dass es den "Input" in eine .txt hauen soll???

Mit freundlichen Grüßen Pepper
Mitglied: Karo
31.03.2009 um 12:33 Uhr
Moin,

per FileSystemObject

Dim fso, ZielDatei, FileOut,username
ZielDatei = "c:\DateiName.txt"
username=inputbox ("Please enter your Username:","Input","Username")
Set fso = CreateObject("Scripting.FileSystemObject")
Set FileOut = fso.OpenTextFile( ZielDatei, 8, true)
fileOut.WriteLine (username)

bye
Karo
Bitte warten ..
Mitglied: Pepper-jk
31.03.2009 um 12:57 Uhr
Danke
Hat super funktioniert ;)
Danke für die schnelle Antwort

Mit freundlichen Grüßen Pepper
Bitte warten ..
Mitglied: bastla
31.03.2009 um 13:28 Uhr
... und falls es etwas kompakter sein soll:
01.
ZielDatei = "c:\DateiName.txt" 
02.
username=InputBox ("Please enter your Username:","Input","Username") 
03.
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZielDatei, True).WriteLine username
Den Einzeiler
CreateObject("Scripting.FileSystemObject").CreateTextFile("c:\DateiName.txt", True).WriteLine InputBox ("Please enter your Username:","Input","Username")
würde ich aber selbst nicht verwenden (außer vielleicht in einem Batch) ...

Grüße
bastla
Bitte warten ..
Mitglied: Pepper-jk
31.03.2009 um 18:43 Uhr
Och man -.-
ein anderes Programm soll die txt auslesen und das in eine variable schreiben was da drin steht !!!
aber leider +berschreibt diese batch immer das was in der ersten zeile steht und dann in der variable steht mit dem was in der nächsten zeile steht
und dieses vbs springt leider in die nächste zeile um .. dh ich hab in meine batch variable imma NICHTS stehen
kann man nicht in das vbs schreiben dass es keine zeilenumbruch machen soll??
danke im vorraus
Pepper
Bitte warten ..
Mitglied: bastla
31.03.2009 um 18:45 Uhr
Hallo Pepper-jk!
kann man nicht in das vbs schreiben dass es keine zeilenumbruch machen soll??
Einfach nur "Write" anstelle von "WriteLine" verwenden ...

Grüße
bastla
Bitte warten ..
Mitglied: Pepper-jk
31.03.2009 um 19:00 Uhr
Danke Bastla
Der Zeilenumbruch ist weg aber es geht immer noch net - ich glaube es hat was mit dem "delims=" zu tun..
hier mein Wuelltext von der eben genannten Batch:

REM Zwischenschritt) ggf Dateien löschen
REM
del /S D:\index\input

REM Schritt 1) Start der Eingabe
REM
start Usernameinput.vbs
start Pnoinput.vbs
start Rightinput.vbs
start Folderinput.vbs
pause

REM Schritt 2) Variablen festlegen
REM
for /f "delims=" %%i in (D:\index\LW.txt) do set LW = %%i
for /f "delims=" %%i in (D:\index\input\pnoinput.txt) do set pno = %%i
set project = project %pno%
for /f "delims=" %%i in (D:\index\input\rightinput.txt) do set right = %%i
for /f "delims=*" %%i in (D:\index\input\folderinput.txt) do set folder = %%i
set group = P %pno% %folder% %right%
set groupwr = P %pno% %folder%
for /f "delims=" %%i in (D:\index\input\userinput.txt) do set user = %%i

echo %LW%
echo %pno%
echo %right%
echo %folder%
echo %user%
pause

REM Zwischenschritt) AddUser, AddGroup, AddUserToGroup, CreatFolder
REM
net user /add %user%
net localgroup /add %group%
net localgroup %group% %user% /add
set foldername = %LW%\ftproot\%project%\%folder%
md %foldername%

REM Schritt 3) GiveRightsToGroups
REM
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%M:C
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%W:RWx
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%R:RX
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%L:C:FO

pause

mein Problem liegt nur bei den for schleifen glaube ich, wenn anderswo noch ein fehler ist sagt aber trozdem bescheid xD

Mit freundlichen Grüßen Pepper
Bitte warten ..
Mitglied: bastla
31.03.2009 um 19:58 Uhr
Hallo Pepper-jk!

Solltest Du nicht einen besonderen Grund für das Zwischenspeichern in einer Textdatei haben, wäre es einfacher, aus dem VBScript auf die folgende Art Daten an einen Batch zu übergeben:

Script:
WScript.Echo InputBox("Please enter your Username:","Input","Username")
Batch:
for /f "delims=" %%i in ('cscript //nologo Usernameinput.vbs') do set "user=%%i"
oder überhaupt gleich das Script durch den Batch erzeugen zu lassen (so kannst Du sicher sein, dass das Script da ist, wo Du es brauchst):
01.
@echo off & setlocal 
02.
set U=%temp%\Usernameinput.vbs 
03.
>%U% echo WScript.Echo InputBox("Please enter your Username:","Input","Username") 
04.
for /f "delims=" %%i in ('cscript //nologo %U%') do set "user=%%i" 
05.
echo You entered: "%user%"
Grüße
bastla
Bitte warten ..
Mitglied: Pepper-jk
31.03.2009 um 20:24 Uhr
Hallo ich habe die erste Möglichkeit genommen (weil ich diese wenigstens verstanden habe)
doch es funktionier leider immer noch nicht ... entweder steht in den Varablen nichts dirn oder sie werden nicht erkannt ...

Meine "startindex.bat" :

REM Schritt 1) Variablen festlegen
REM
for /f "delims=" %%i in (D:\index\LW.txt) do set LW = %%i
for /f "delims=" %%i in ('cscript nologo Usernameinput.vbs') do set "user=%%i"
for /f "delims=" %%i in ('cscript
nologo Rightinput.vbs') do set "right=%%i"
for /f "delims=" %%i in ('cscript nologo Folderinput.vbs') do set "folder=%%i"
for /f "delims=" %%i in ('cscript
nologo Pnoinput.vbs') do set "pno=%%i"
set project = project %pno%
set group = P %pno% %folder% %right%
set groupwr = P %pno% %folder%

echo %LW%
echo %pno%
echo %right%
echo %folder%
echo %user%
pause

REM Zwischenschritt) AddUser, AddGroup, AddUserToGroup, CreatFolder
REM
net user /add %user%
net localgroup /add %group%
net localgroup %group% %user% /add
set foldername = %LW%\ftproot\%project%\%folder%
md %foldername%

REM Schritt 2) GiveRightsToGroups
REM
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%M:C
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%W:RWx
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%R:RX
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%L:C:FO

pause

Die echos sind nur um zu schauen ob die Variablen funktionieren, aber nich einmal die echos macht er !

Ein Beispiel meiner ".vbs":
ZielDatei = "D:\index\input\folderinput.txt"
foldername=InputBox ("Please enter your Foldername:","Input","Foldername")

habe ich vllt hier was falsch gemacht?
Mit freundlichen Grüßen Pepper
Bitte warten ..
Mitglied: bastla
31.03.2009 um 20:56 Uhr
Hallo Pepper-jk!

Das Script muss die Daten per "WScript.Echo" ausgeben - nur so kann der Batch diese Ausgabe übernehmen:
01.
foldername=InputBox ("Please enter your Foldername:","Input","Foldername") 
02.
WScript.Echo foldername
Grüße
bastla

P.S.: Sollte Dir die Darstellungsform meiner Code-Schnipsel gefallen: http://www.administrator.de/helpsystem/detail.php?idx=20#toc27
Bitte warten ..
Mitglied: Pepper-jk
01.04.2009 um 08:02 Uhr
Danke Bastla
leider funktioniert das mit der Erkennung der aus variablen zusammengesetzten Strings die in den neuen variablen stehen nicht -.- (Zeilen 7-9)

01.
REM Schritt 1) Variablen festlegen 
02.
REM ======================================================================= 
03.
for /f "delims=" %%i in ('cscript //nologo Usernameinput.vbs') do set "user=%%i" 
04.
for /f "delims=" %%i in ('cscript //nologo Rightinput.vbs') do set "right=%%i" 
05.
for /f "delims=" %%i in ('cscript //nologo Folderinput.vbs') do set "folder=%%i" 
06.
for /f "delims=" %%i in ('cscript //nologo Pnoinput.vbs') do set "pno=%%i" 
07.
set project = "project%pno%" 
08.
set group = "P%pno%%folder%%right%" 
09.
set groupwr = "P%pno%%folder%" 
10.
 
11.
REM Zwischenschritt) AddUser, AddGroup, AddUserToGroup, CreatFolder 
12.
REM ======================================================================= 
13.
net user /add %user% 
14.
net localgroup %group% /add 
15.
net localgroup %group% %user% /add 
16.
set foldername = %LW%\ftproot\%project%\%folder% 
17.
md %foldername% 
18.
 
19.
REM Schritt 2) GiveRightsToGroups 
20.
REM ======================================================================= 
21.
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%M:C 
22.
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%W:RWx 
23.
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%R:RX 
24.
FILEACL %LW%\ftproot\%project%\%folder% /S %groupwr%L:C:FO 
25.
 
26.
pause
Hoffe auf schnelle antwort

Mit freundlichen Grüßen Pepper
Bitte warten ..
Mitglied: Pepper-jk
01.04.2009 um 08:49 Uhr
ok das Problem hat sich gelöst ;)
anscheind kann Batch keine Variablen in Variablen schreiben -> ich hab jetzt das was in den Varibelne von 7-9 stehen sollte einfach überall hingeschrieben wo die Variable stehen sollte:

01.
REM Schritt 1) Variablen festlegen 
02.
REM ======================================================================= 
03.
for /f "delims=" %%i in ('cscript //nologo Usernameinput.vbs') do set "user=%%i" 
04.
for /f "delims=" %%i in ('cscript //nologo Rightinput.vbs') do set "right=%%i" 
05.
for /f "delims=" %%i in ('cscript //nologo Folderinput.vbs') do set "folder=%%i" 
06.
for /f "delims=" %%i in ('cscript //nologo Pnoinput.vbs') do set "pno=%%i" 
07.
 
08.
REM Zwischenschritt) AddUser, AddGroup, AddUserToGroup, CreatFolder 
09.
REM ======================================================================= 
10.
net user %user% /add 
11.
net localgroup P%pno%%folder%M /add 
12.
net localgroup P%pno%%folder%W /add 
13.
net localgroup P%pno%%folder%R /add 
14.
net localgroup P%pno%%folder%L /add 
15.
net localgroup P%pno%%folder%%right% %user% /add 
16.
md D:\ftproot\project%pno%\%folder% 
17.
 
18.
REM Schritt 2) GiveRightsToGroups 
19.
REM ======================================================================= 
20.
FILEACL D:\ftproot\project%pno%\%folder% /S P%pno%%folder%M:C 
21.
FILEACL D:\ftproot\project%pno%\%folder% /S P%pno%%folder%W:RWx 
22.
FILEACL D:\ftproot\project%pno%\%folder% /S P%pno%%folder%R:RX 
23.
FILEACL D:\ftproot\project%pno%\%folder% /S P%pno%%folder%L:C:FO 
24.
 
25.
pause
Mit freundlichen Grüßen Pepper
Bitte warten ..
Mitglied: Karo
01.04.2009 um 12:32 Uhr
Hi,

vielleicht hättest Du einfach die Anführungszeichen beim set ... weglassen sollen ....

zb.
do set "folder=%%i" => do set folder=%%i
oder
set project = "project%pno%" => set project =project%pno%

bye

Karo
Bitte warten ..
Mitglied: Pepper-jk
01.04.2009 um 13:10 Uhr
Hi Karo
hatte ich schon probiert aber troz danke ;)

Mit freundlichen Grüßen Pepper
Bitte warten ..
Mitglied: Jwanner83
02.12.2016 um 13:15 Uhr
Hei Karo

Ich bring es irgendwie nicht hin, zwei solche Inputboxen hintereinander hin zu setzen. Ich möchte einmal den Username und danach das Passwort. Ich bringe es nicht hin. Kannst du mir da Helfen?

Lg Jonas
Bitte warten ..
Mitglied: mikrotik
02.12.2016, aktualisiert um 13:41 Uhr
Zitat von Jwanner83:
Ich bring es irgendwie nicht hin, zwei solche Inputboxen hintereinander hin zu setzen. Ich möchte einmal den Username und danach das Passwort. Ich bringe es nicht hin. Kannst du mir da Helfen?
01.
@echo off & setlocal 
02.
 
03.
call :makeinput "Bitte geben sie Ihren Usernamen ein." "user" 
04.
call :makeinput "Bitte geben sie Ihr Passwort ein." "password" 
05.
 
06.
echo "%user%" 
07.
echo "%password%" 
08.
 
09.
goto :eof 
10.
 
11.
:: Subroutine zur Abfrage mit einer Inputbox 
12.
:makeinput 
13.
echo wscript.echo InputBox^("%~1","Eingabe"^)>"%temp%\exec.vbs" 
14.
for /f "delims=" %%a in ('cscript //NOLOGO "%temp%\exec.vbs"') do set "%~2=%%a" 
15.
goto :eof
Oder besser gleich mit einem "richtigen" Passwortdialog:
01.
@echo off & setlocal 
02.
for /f "tokens=1,* delims=:" %%a in ('powershell -ExecutionPolicy ByPass -NoLogo -NoProfile -command "$cred = Get-Credential -Message 'Ihre Anmeldedaten'; ($cred.Username + ':' + $cred.GetNetworkCredential().Password)"') do set "user=%%a" & set "password=%%b" 
03.
echo "%user%" 
04.
echo "%password%"
Gruß
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell: Variablen aus .txt Dateien heraus ausgeben (5)

Frage von Tobiased zum Thema Batch & Shell ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen

Frage von joni2000de zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...