Powershell datei erstellen mit schleifen


Irschen

Grünschnabel
Hallo

Ich benötige ein paar Tipps von euch;-)

und zwar in dem Ordner

C:\Test
liegen Dateien
00111111
00212121
00223233
00234355
00569839
usw.

diese sollen jetzt unbenannt werden und zwar so

xxx.yyy.111111

heißt die nullen sollen gelöscht bzw entfernt werden und die Datei soll auch umbenannt werden,
desweiteren sind die zahlen hinter der null IMMER unterschiedlich
das einzige was feststeht ist, das es vorher 8 stellen (mit der 00) und später 6 stellen werden sollen,
das nächste, in den Ordner landen ständig Files , heißt ich benötige eine schleife dafür

Großes Problem ich bin ein kompletter Neuling zum Thema PS

ich hatte bis jetzt dieses hier:

foreach-object
rnp 'c:\Test\00* xxx.yy*'


funktioniert leider aber nicht
weiß jemand von euch Rat?
 

HonniCilest

Erfahrenes Mitglied
Hallo,

z.B. so?
Code:
gci c:\test\ | %{
	if($_.name -match "00\d{6}.*"){
		rni $_.fullname ($_.name -replace "00", "xxx.yyy.")
	}
}
 

Irschen

Grünschnabel
Super GENIAL, es funktioniert endlich

SUPER SUPER VIELEN DANK

eine Frage habe ich noch,
kann man da noch was einbauen das ein Automatischer Login stattfindet? etc
 
Zuletzt bearbeitet:

Irschen

Grünschnabel
das ich zb dem Code sage

das Programm heißt X
logge Dich bitte wenn ich Dich gestartet habe dort gleich ein
mit den Daten
Benutzername
Passwort

und dann kommt ja das von oben weiter gehe in den Ordner und benenne diese dann um
 

sheel

I love Asm
Je nach Programm ist es vermutlich viel besser, das einfach zu umgehen
(das, was das Programm macht, selbst in Gang setzen)
 

HonniCilest

Erfahrenes Mitglied
Ich denke nicht, dass man den Login zu einem Programm pauschalisieren kann. Jedes Programm reagiert anders. Wenn du Glück hast kannst du z.b. das Programm über Kommandozeilen-Parameter mit dem gewünschten Login starten. Aus IT-Sicherheits Sicht würde ich dir jedoch davon abraten, melde dich lieber immer manuell an.
 

Irschen

Grünschnabel
Guten Morgen;-)

also es geht konkret um bitvise

Automatisch einloggen und die umbenannten Dateien dort hochladen,
dies soll wenn möglich(was ich hoffe) Automatisch passieren ohne das dort jedesmal jemand manuell was eintippen muss,
Das ganze soll über sftp laufen

Frage:ist dies möglich?

Übrigens nochmal vielen Dank für eure Mühe und Zeit
 
Zuletzt bearbeitet:

Irschen

Grünschnabel
Ich bin es mal wieder und habe doch noch ein Problem
und zwar kopiert er die Dateien nicht in einen anderen Ordner
eine Fehlermeldung bekomme ich leider auch nicht
Befehl:

Move-Item c:\Test\PAYMORE.ESA.L* c:\Bank

ist doch eigentlich richtig,oder?

gesamter Code lautet jetzt:

gci c:\test\ | %{
if($_.name -match "00\d{6}.*"){
rni $_.fullname ($_.name -replace "00", "PAYMORE.ESA.L")
Move-Item c:\Test\PAYMORE.ESA.L* c:\Bank
}
}

die Files werden umbenannt aber nicht ausgeschnitten und in einen anderen gepackt,?
Hmm...

wo liegt der Fehler?
 

HonniCilest

Erfahrenes Mitglied
Ich erkenne keinen Fehler, bei mir funktioniert es auch, wenn ich es teste.
Hast du mal die Datei- bzw. Ordnereigenschaften auf Schreibschutz oder Ähnliches überprüft?