GELÖST Benutzernamen variable für den Desktop Pfad

Diskutiere Benutzernamen variable für den Desktop Pfad im Software Allgemein Forum im Bereich Software Forum; Hallo, ich habe ein Problem, ich möchte ein Programm mit vbs programmieren, mit welchem man Dateien verschieben kann und ich möchte, dass es auf...
M

MyIT

Threadstarter
Dabei seit
21.06.2016
Beiträge
18
Hallo,
ich habe ein Problem, ich möchte ein Programm mit vbs programmieren, mit welchem man Dateien verschieben kann und ich möchte, dass es auf jedem Pc verwendbar ist, jedoch ist das Problem, dass der Benutzername im Dateipfad ( C:\Users\?\Desktop\Schule ) auf jedem Pc anders ist, daher ist meine Frage:

Wie kann ich den Benutzernamen im Dateipfad durch eine Variable ersetzen, die funktioniert und dass auf verschiedenen PC´s ?

Das Programm:

Option Explicit

' Declaration of variable
Dim objFileSystem

' Create object for filesystem access
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")

' Move file
objFileSystem.MoveFile "C:\Users\?\Desktop\Hausaufgabe.txt", "C:\Users\?\Desktop\Schule\Hausaufgabe.txt"

' Deallocate filesystem object
Set objFileSystem = Nothing

' Quit Visual Basic Script
WScript.Quit()

Das ? symbolisiert die Stelle an dem der Benutzername stehen müsste.



Ich bedanke mich im Voraus für eure Hilfe und hoffe, dass ihr mir eine Lösung geben könnt.
 
lajoe

lajoe

Dabei seit
24.11.2005
Beiträge
1.135
Alter
54
Ort
LL
das kannst du mit %userprofile%/desktop....
(ohne C:\Users)

p.s.: :welcome
 
Zuletzt bearbeitet:
M

MyIT

Threadstarter
Dabei seit
21.06.2016
Beiträge
18
Also das Programmm wäre deiner Meinung nach so richtig :

Option Explicit

' Declaration of variable
Dim objFileSystem

' Create object for filesystem access
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")

' Move file
objFileSystem.MoveFile "%userprofile%/Desktop/HA.vbs", "%userprofile%/Desktop/Schule/HA.vbs"

' Deallocate filesystem object
Set objFileSystem = Nothing

' Quit Visual Basic Script
WScript.Quit()

Das funktioniert leider nicht, hat jemand noch eine andere Idee?

PS: Vielen Dank @lajoe
 
jhkil9

jhkil9

Dabei seit
28.09.2006
Beiträge
1.952
Alter
57
Ort
BW
Man sollte schon die richtigen Zeichen verwenden! Den / ist was anderes als \.
 
M

MyIT

Threadstarter
Dabei seit
21.06.2016
Beiträge
18
Option Explicit

' Declaration of variable
Dim objFileSystem

' Create object for filesystem access
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")

' Move file
objFileSystem.MoveFile "%userprofile%\Desktop\HA.txt", "%userprofile%\Desktop\Schule\HA.txt"

' Deallocate filesystem object
Set objFileSystem = Nothing

' Quit Visual Basic Script
WScript.Quit()

Leider funktioniert dieses neue Programm auch nicht, hat jemand eine Idee?!? :wacko
 
automatthias

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
12.013
soweit ich weiß, kann man in VBScript nicht so direkt die Variable %userprofile% verwenden, sonderm muss sie erst mit Inhalt füllen,
z.B. userProfile = oWS.ExpandEnvironmentStrings( "%userprofile%" )
---> Näheres siehe VBScript Doku
 
lajoe

lajoe

Dabei seit
24.11.2005
Beiträge
1.135
Alter
54
Ort
LL
Gibt es die Datei "HA.txt" u. den Ordner "Schule" ?
Du schreibst nämlich ganz oben von "Hausaufgabe.txt", dann weiter unten von "HA.vbs" und jetzt von "HA.txt"
 
karmu

karmu

Dabei seit
14.07.2011
Beiträge
1.498
Wie automatthias schon schrieb, Du musst erst die Env.Variable auslesen:
Code:
Set objWshShell = CreateObject("WScript.Shell")
strUserPath = objWshShell.ExpandEnvironmentStrings ("%UserProfile%")

Dann kommt das dabei raus:
Code:
Option Explicit

' Declaration of variable
Dim objFileSystem, objWshShell, strUserPath

' Create object for filesystem and shell access
Set objWshShell = CreateObject("WScript.Shell")
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")

' Set User Path
strUserPath = objWshShell.ExpandEnvironmentStrings ("%UserProfile%")

 ' Move file
objFileSystem.MoveFile strUserPath & "\Desktop\HA.txt" , strUserPath & "\Desktop\Schule\HA.txt"

' Deallocate filesystem object
Set objFileSystem = Nothing

' Quit Visual Basic Script
WScript.Quit()
 
M

MyIT

Threadstarter
Dabei seit
21.06.2016
Beiträge
18
Leute vielen Dank, dass ihr mir so geholfen habt, ihr seid echt Klasse und vielen Dank noch ein Mal an karmu und automatthias, denn das Programmm funktioniert nun.
 
Thema:

Benutzernamen variable für den Desktop Pfad

Benutzernamen variable für den Desktop Pfad - Ähnliche Themen

Bild auf dem Sperrbildschirm: Hallo zusammen, ich habe mir ein kleines Excel-Progrämmchen geschrieben (Code siehe unten), welches beim Autostart aus dem Pfad...
Hilfe bei VBScripten gesucht: Hallo, ich komme bei folgendem Problem einfach nicht weiter und hoffe, dass mir hier jemand weiterhelfen kann. Hoffe auch, dass ich in die...
FritzBox 7270 - apache Webserver: Hallo, ich versuche gerade über diese Beschreibung einen Webserver auf die Fritzbox zu installieren. Folgendes ist bislang erfolgt: - Apache...
Is there a Hacker Ethic for 90s Hackers?: Is there a Hacker Ethic for 90s Hackers? by Steven Mizrach Introduction The goal of this text analysis project was to take the texts of the...

Sucheingaben

variable benutzername im dateipfad windows 10

,

user desktop variable

,

bvs objwshell.expandenvironmentstrings

,
variable desktop
, kann pfad nicht durch variable ersetzen, windows desktop pfad user, desktop aktueller benutzer, windows pfad zum desktop, desktop Pfad
Oben