Dateien umbennen
Hallo ich suche schon länger in google nach einem Script.
und zwar möchte ich ein Script das Dateien in einem Ordner alle Automatisch umbenennt.
z.B:
Dateien heißen:
SC_0123456789.pdf
SC_0987654321.pdf
SC_0567894321.pdf
und die sollen dann so heißen:
TAL_0123456789_SC.pdf
TAL_0987654321_SC.pdf
TAL_0567894321_SC.pdf
also das Script soll den Teil von vprne ausschneiden, hinten Einfügen und vorne noch TAL anfügen.
Das soll dann alle 10 Minuten laufen, in dem Ordner.
Danke im Vorraus
Antwort schreiben
Antwort 1 von disco vom 29.01.2020, 13:17 Options
moin
da brauchste nix exotisches denk ich.
da sollte eigentlich das reichen:
ren SC_* TAL_*
(batch)
g,
disco
Antwort 2 von ava_119 vom 29.01.2020, 13:32 Options
hey hmm
ich bin neu hier
und ich mach sowas zum ersten mal was du mir da gezeigt hast sagt mir echt net viel *schäm*
Antwort 3 von gast123 vom 29.01.2020, 19:52 Options
hi all :-)
ich frage mich was platzhalter mit umbenennen zutun hat
vielleicht fehlt ja auch nur der zauberstab
gruss gast123
Antwort 4 von gast123 vom 29.01.2020, 19:58 Options
hi ava :-)
sollte sich bis zum wochenende nix getan haben spring ich gern ein,hab vorher leider zuwenig zeit
bis die tage
gruss gast123
.
Antwort 5 von kicia vom 30.01.2020, 08:21 Options
folgendes in eine Datei mit der Endung .hta kopieren und ausführen:
(keine Garantie für Fehlerfreiheit)
<html>
<head>
<title>rename files</title>
<HTA:APPLICATION ID="renamefiles" APPLICATIONNAME="rename files" SCROLL="yes" SINGLEINSTANCE="yes">
<script type="text/javascript">
function start()
{
// 10*60*1000 = 600000 Millisekunden = 10 Minuten
var interv = window.setInterval("renamefiles('C:/temp/')", 600000);
}
function renamefiles(foldername)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fld = fso.GetFolder(foldername);
var fle = new Enumerator(fld.Files);
var tempname;
for (; !fle.atEnd(); fle.moveNext())
{
tempname = fle.item().name.split(".");
if(tempname.length == 2 && tempname[1] == "pdf")
{
tempname = tempname[0].split("_");
if(tempname.length == 2 && tempname[0] == "SC")
{
fle.item().name = "TAL_" + tempname[1] + "_SC.pdf";
}
}
}
}
</script>
</head>
<body onload="start()">
<div onclick="window.close();" style="border:solid 1px #000000; cursor:pointer; width:200px;">beenden</div>
</body>
</html>
Hier wird der Ordner C:/temp verwendet, das kannst Du einfach durch den gewünschen Pfad ersetzen.
Gruß,
kicia
Antwort 6 von ava_119 vom 30.01.2020, 10:23 Options
hey kicia
danke schon mal....aber der zeigt mir als ein Scriptfehler...
kann man das nicht als eine bat-datei machen...weil ich möcht das alle 10minuten automatisch laufen lassen...
gruss ava
Antwort 7 von kicia vom 30.01.2020, 13:24 Options
Hallo ava.
Ich vermute, daß Du in der Zeile
var interv = window.setInterval("renamefiles('C:/temp/')", 600000);
Backslashes verwendet hast. Es müssen normale Schrägstriche sein, oder notfalls doppelte Backslashes('C:\\temp\\')".
Das Script macht das alle 10 minuten".
bat kann ich nicht so gut.
Gruß,
kicia
Antwort 8 von ava_119 vom 31.01.2020, 10:24 Options
muss ich da sons nochwas beachten, weil der zeigt mir immernoch ein scriptfehler an...:(
Antwort 9 von ava_119 vom 31.01.2020, 10:28 Options
<head>
<title>rename files</title>
<HTA:APPLICATION ID="renamefiles" APPLICATIONNAME="rename files" SCROLL="yes" SINGLEINSTANCE="yes">
<script type="text/javascript">
function start()
{
// 10*60*1000 = 600000 Millisekunden = 10 Minuten
var interv = window.setInterval("renamefiles('D:/Neuer_Ordner/)", 600000);
}
function renamefiles(foldername)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fld = fso.GetFolder(foldername);
var fle = new Enumerator(fld.Files);
var tempname;
for (; !fle.atEnd(); fle.moveNext())
{
tempname = fle.item().name.split(".");
if(tempname.length == 2 && tempname[1] == "pdf")
{
tempname = tempname[0].split("_");
if(tempname.length == 2 && tempname[0] == "SC")
{
fle.item().name = "TAL_" + tempname[1] + "_SC.pdf";
}
}
}
}
</script>
</head>
<body onload="start()">
<div onclick="window.close();" style="border:solid 1px #000000; cursor:pointer; width:200px;">beenden</div>
</body>
so sieht das bei mir aus
Antwort 10 von kicia vom 01.02.2020, 12:57 Options
hallo ava
(sorry, ich war gestern nicht am rechner)
Es fehlt noch das schliessende einfache Anführungszeichen hinter D:/Neuer_Ordner/
Also:
var interv = window.setInterval("renamefiles('D:/Neuer_Ordner/')", 600000);
Gruß,
kicia
Antwort 11 von ava_119 vom 03.02.2020, 15:10 Options
das läuft 100%ig danke =)...
nur ich möcht das noch im hintergrund laufen lassen...unbemerkbar verstehst du was ich meine?...
gruss schönen sonntag