Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Entwicklung Batch & Shell

GELÖST

Vbs in batch schreiben

Mitglied: DONNobre

DONNobre (Level 1) - Jetzt verbinden

15.06.2011, aktualisiert 20:15 Uhr, 3969 Aufrufe, 15 Kommentare

Hallo zusammen ich habe ein problem eine vbs datei in eine batch zu schreiben,
habe auch schon mehrere varianten ausprobiert lehrzeichen und >
Problem macht mir dieses ) zeichen es wird einfach nicht in die batch geschrieben.

01.
  
02.
set DOWN2=%TEMP%\download.cmd 
03.
set DOWN3=%TEMP%\download.vbs 
04.
			echo set shell = CreateObject("Wscript.Shell")>"%DOWN3%" 
05.
			echo shell.run "%DOWN2%",0 >>"%DOWN3%"
Mitglied: 60730
15.06.2011 um 20:02 Uhr
Servus,

Du mußt besonderezeichen maskieren.

 
C:\>echo ^>123 
>123 
 
C:\>
...und dann ...

echo 123>abc
statt
echo 123 > abc

Leerezeichen sind auch Zeichen

Gruß
edit,
da du via Edit Code Blöcke spendiert hast, spensiere ich auch was...
/edit

01.
set DOWN2=%TEMP%\download.cmd 
02.
set DOWN3=%TEMP%\download.vbs 
03.
echo set shell = CreateObject("Wscript.Shell")>"%DOWN3%" 
04.
echo shell.run "%DOWN2%"^,^0>>"%DOWN3%"
Bitte warten ..
Mitglied: DONNobre
15.06.2011 um 20:19 Uhr
bei mir bleibt das problem bestehen
das ) in der 3ten Zeile wird nicht in die batch geschrieben
Bitte warten ..
Mitglied: Friemler
15.06.2011 um 20:22 Uhr
Hi DONNobre,

oder Du schreibst (übersichtlicher) gleich
01.
> "%DOWN3%" echo Set Shell = CreateObject("WScript.Shell") 
02.
>>"%DOWN3%" echo Shell.Run "%DOWN2%", 0
Dann klappt's auch mit dem ).

Gruß
Friemler
Bitte warten ..
Mitglied: 60730
15.06.2011 um 20:22 Uhr
Salü,
01.
set DOWN2=%TEMP%\download.cmd 
02.
set DOWN3=%TEMP%\download.vbs 
03.
echo set shell = CreateObject("Wscript.Shell")> "%DOWN3%" 
04.
echo shell.run "%DOWN2%"^,^0>>"%DOWN3%" 
05.
type "%DOWN3%" 
06.
pause
ergibt bei mir...

 
C:\script\test>set DOWN2=C:\DOKUME~1\timo.beil\LOKALE~1\Temp\download.cmd 
 
C:\script\test>set DOWN3=C:\DOKUME~1\timo.beil\LOKALE~1\Temp\download.vbs 
 
C:\script\test>echo set shell = CreateObject("Wscript.Shell") 1>"C:\DOKUME~1\timo.beil 
\LOKALE~1\Temp\download.vbs" 
 
C:\script\test>echo shell.run "C:\DOKUME~1\timo.beil\LOKALE~1\Temp\download.cmd",0 1>> 
"C:\DOKUME~1\timo.beil\LOKALE~1\Temp\download.vbs" 
 
C:\script\test>type "C:\DOKUME~1\timo.beil\LOKALE~1\Temp\download.vbs" 
set shell = CreateObject("Wscript.Shell") 
shell.run "C:\DOKUME~1\timo.beil\LOKALE~1\Temp\download.cmd",0 
 
C:\script\test>pause 
Drücken Sie eine beliebige Taste . . .
@ Friemler - oder so, wobei ich kein Thema mit der Klammer, sondern mit dem Komma hatte....
XP SP3
Bitte warten ..
Mitglied: DONNobre
15.06.2011 um 20:26 Uhr
das hatte ich auch schon ausprobiert .. hattest das ja auch letztes mal verwendet in dem autostart script .... aber leider geht das auch nicht
Bitte warten ..
Mitglied: Friemler
15.06.2011 um 20:36 Uhr
Hallo DONNobre,

also bei mir funktioniert es, Dein ursprünglicher Code hat ja auch bei T-Mo funktioniert. Da muss in Deinem Code noch irgendein unsichtbares Zeichen vorhanden sein. Kopiere Dir doch mal den Code von T-Mo oder mir über den Quelltext-Link am oberen rechten Rand der Code-Boxen in Deinen Editor.

Wenn wir dabei sind, auch wenn das bestimmt nichts mit Deinem Problem zu tun hat: Speichere Batchcode immer unter der Codierung OEM850 ab (läßt sich in Notpad++ einstellen). Dann wird der Text in ASCII-Codierung gespeichert, normalerweise in ANSI-Codierung, was bei äöüßÄÖÜ zu Zeichensalat bei der Ausgabe auf der Konsole führt.

Gruß
Friemler
Bitte warten ..
Mitglied: DONNobre
15.06.2011 um 20:38 Uhr
kopiert ... eingefügt
ging nicht ... lehrzeichen am ende rausgenommen
ging nicht

aber mir ist gerade ne andere idee gekommen kann es sein das er das zeichen nicht nehmen will weil es in der For schleife ist ?
01.
 
02.
:ncftpput 
03.
set DOWN=%TEMP%\download.txt 
04.
set DOWN2=%TEMP%\download.cmd 
05.
set DOWN3=%TEMP%\download.vbs 
06.
del %DOWN% & %DOWN2% & %DOWN3% 
07.
if exist "%TEMP%\ncftpput.exe" ( 
08.
	set FTPProgramm="%TEMP%\ncftpput.exe" 
09.
	if "%counter%" EQU "%maxCounter%" goto EOL 
10.
) else ( 
11.
			echo OPEN %FTPAdress%>>%DOWN% 
12.
			echo USER %FTPUser%>>%DOWN% 
13.
			echo %FTPPsw%>>%DOWN% 
14.
			echo BIN>>%DOWN% 
15.
			echo LCD c:\>>%DOWN% 
16.
			echo GET ncftpput.exe>>%DOWN% 
17.
			echo GET Ftpsend.exe>>%DOWN% 
18.
			echo GET DatenAufFTPkopieren.cmd>>%DOWN% 
19.
			echo quit>>%DOWN% 
20.
			echo c:>>%DOWN2% 
21.
			echo cd\>>%DOWN2% 
22.
			echo ftp -n -s:c:download.txt>>%DOWN2% 
23.
 
24.
echo set shell = CreateObject("Wscript.Shell")> "%DOWN3%" 
25.
echo shell.run "%DOWN2%"^,^0>>"%DOWN3%" 
26.
 
27.
			call "%DOWN3%" 
28.
			set /a Counter=%Counter% + 1 
29.
			ping localhost -n 10 >NUL 
30.
31.
goto :EOL 
32.
 
Bitte warten ..
Mitglied: Friemler
15.06.2011 um 20:56 Uhr
Tja, wenn Du die richtige Codeformatierung verwendet hättest (mit < und > statt den runden Klammern), hätte ich viel mehr Lust das zu analysieren... Ich finde nämlich keine FOR-Schleife in der Bleiwüste da oben.
Bitte warten ..
Mitglied: DONNobre
15.06.2011 um 21:01 Uhr
hab ich doch schon gemacht mein rechner hing nur und ich kamm nicht so schnell hinterher
Bitte warten ..
Mitglied: Friemler
15.06.2011 um 21:05 Uhr
AHHH, besser!

Ja, der ECHO-Befehl zum schreiben der problematischen Zeile steht in einem geklammerten ELSE-Block, dafür ist Batchscript wieder mal zu dumm. Du musst die Klammern "escapen", indem Du ein ^ davor schreibst.


BTW: Verringere und vereinheitliche doch bitte in Zukunft die Tiefe der Einrückungen, sieht ja zum fürchten aus.

Gruß
Friemler
Bitte warten ..
Mitglied: 60730
15.06.2011 um 21:06 Uhr
moinsen,

... na dann....
bei den ganzen downs geht man ja downunder....
01.
:ncftpput 
02.
set DOWN=%TEMP%\download 
03.
del %DOWN%.* 
04.
echo %TEMP% 
05.
if exist "%TEMP%\ncftpput.exe" ( 
06.
              set FTPProgramm="%TEMP%\ncftpput.exe" 
07.
              if "%counter%" EQU "%maxCounter%" goto EOL 
08.
) else ( 
09.
            echo OPEN %FTPAdress%>>%DOWN%.txt 
10.
            echo USER %FTPUser%>>%DOWN%.txt 
11.
            echo %FTPPsw%>>%DOWN%.txt 
12.
            echo BIN>>%DOWN%.txt 
13.
            echo LCD c:\>>%DOWN%.txt 
14.
            echo GET ncftpput.exe>>%DOWN%.txt 
15.
            echo GET Ftpsend.exe>>%DOWN%.txt 
16.
            echo GET DatenAufFTPkopieren.cmd>>%DOWN%.txt 
17.
            echo quit>>%DOWN%.txt 
18.
            echo c:>>%DOWN%.cmd 
19.
            echo cd\>>%DOWN%.cmd 
20.
            echo ftp -n -s:c:download.txt>>%DOWN%.cmd 
21.
            echo set shell = CreateObject("Wscript.Shell")> "%DOWN%.vbs" 
22.
            echo shell.run "%DOWN%"^,^0>>"%DOWN%.vbs" 
23.
            type "%DOWN3%.vbs" 
24.
            call "%DOWN3%.vbs" 
25.
            set /a Counter=%Counter% + 1 
26.
            ping localhost -n 10 >NUL 
27.
28.
goto :EOL
edit too late, hat er ja schon...
apropos late ich geh heim...
Bitte warten ..
Mitglied: DONNobre
15.06.2011 um 21:19 Uhr
die version ist schöner ... es wird leider an anderen stellen noch meine version von DOWN1-3 verwendet deswegen kann ich das leider so nicht machen ... aber danke ...
das mit den klammern hätte mir auch früher einfallen können
Bitte warten ..
Mitglied: mathe172
15.06.2011 um 22:23 Uhr
Hallo,

und damit ich auch noch was gesagt habe :
01.
02.
            echo.OPEN %FTPAdress% 
03.
            echo.USER %FTPUser% 
04.
            echo.%FTPPsw% 
05.
            echo.BIN 
06.
            echo.LCD c:\ 
07.
            echo.GET ncftpput.exe 
08.
            echo.GET Ftpsend.exe 
09.
            echo.GET DatenAufFTPkopieren.cmd 
10.
            echo.quit 
11.
            )>>%DOWN%.txt 
12.
13.
            echo.c: 
14.
            echo.cd\ 
15.
            echo.ftp -n -s:c:download.txt 
16.
            )>>%DOWN%.cmd 
17.
18.
            echo.set shell = CreateObject^("Wscript.Shell"^) 
19.
            echo.shell.run "%DOWN%"^,^0 
20.
            )>"%DOWN%.vbs"
Finde ich etwas schöner (. nach echo und nur einmal umleiten pro Datei-ist auch bei Änderungen schneller...)

Mathe172
Bitte warten ..
Mitglied: DONNobre
15.06.2011 um 22:34 Uhr
das finde ich auch sehr schön ... einfach und schnell zu ändern
Bitte warten ..
Mitglied: pieh-ejdsch
15.06.2011 um 23:39 Uhr
moin,

und wenn Du noch ein paar SonderZeichen nicht gleich findest macht es dieses hier etwas leichter.

Sonder Zeichen Nach Echo.cmd

Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: Batch in batch in cfg schreiben
gelöst Frage von pixelBfBatch & Shell2 Kommentare

Hayy, ich bin neu hier im forum:)) Meine frage: Kann ich eine batch schreiben die was in eine batch ...

VB for Applications
VBS .txt Inhalt vor schreiben löschen
Frage von deathhollyVB for Applications8 Kommentare

Hallo, ich habe folgendes Script. Es funktioniert auch, nur das wenn ich es im Overwrite Modus öffne, schreibt es ...

Batch & Shell
Teilstring nach Splitten in Variablen schreiben vbs
gelöst Frage von goodbytesBatch & Shell2 Kommentare

Hallo, das Aufsplitten des Strings mittels Regular Expressions funktioniert bereits hiermit: Danach habe ich Vieles hin und her probiert ...

Windows Tools
Batch schreiben löschen
gelöst Frage von 1900vflWindows Tools2 Kommentare

Hallo zusammen, ich hoffe das mir hier jmd helfen kann. Ich habe einen Ordner wo Sicherungen drin gespeichert werden, ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Windows Server
DNS Forwarding an andere Domäne
Frage von detox91Windows Server9 Kommentare

Hallo, für Testzwecke haben wir bei uns eine zweite Windows Domäne (B.local) aufgebaut, welche komplett unabhängig und isoliert der ...