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

Batch soll namentlich nicht bekanntes Verzeichnis finden und umbenennen

Frage Entwicklung Batch & Shell

Mitglied: m3gaTefyt

m3gaTefyt (Level 1) - Jetzt verbinden

26.11.2005, aktualisiert 03.12.2005, 4648 Aufrufe, 7 Kommentare

1)
Es geht um Folgendes:

Ich habe einen Ordner, in dem befinden sich
-ein paar Dateien, die für den Vorgang unwichtig sind
-ein "Ordner1", dessen Name nicht bekannt ist, in dem sich ein paar Unterordner befinden, deren Namen allerdings schon bekannt sind (subdir1, subdir2, subdir3,...)
-ein "Ordner2", dessen Name bekannt ist
-und die Batchdatei für den Vorgang.

Was ich vorhabe:
Ich möchte den Ordner1 automatisch in "neuername" umbenennen lassen. Damit für diesen vorher eine Variable gesetzt werden kann, sind die Bedingungen:
-in seinem Namen darf nicht "Ordner2"vorkommen
-einer der oben genannten Unterordner subdir1, subdir2 etc. sollte darin enthalten sein

Falls mehrere Ordner vorhanden sein sollten, die diese Bedingungen erfüllen, sollte die Batch dem User eine Auswahlmöglichkeit bieten.



Ich bedanke mich im Vorraus für Hilfe und/oder ein paar Tips!
Mitglied: pixelraider
27.11.2005 um 14:17 Uhr
Hallo,

als erste würde ich die Verzeichniste einlesen und in ein TEXT-File schreiben 'DIR *. > DIR.TXT'.
Dann das Textfile durchsuchen 'FOR @for /f "tokens=3" %%i in ('dir.txt ^|find "Ordner1" ') do SET %%i . Wenn subdirX gefunden wird einfach die Zeile in den String geschreiben.
Da nun der Pfad und der Name von Ordner1 bekannt sind, einfach umbenennen.

Um das ganze jetzt noch mit Auswahlmenü zu realisieren, einfach via ECHO eine neue Batch erzeugen, die das Menu enthält und via CHOICE abfrägt, was getan werden soll.
Bitte warten ..
Mitglied: m3gaTefyt
27.11.2005 um 21:42 Uhr
tja das problem ist eben nur, dass der Ordner1 ja namentlich nicht bekannt ist..
und dass ich nur noch hinter das blicken muss, was du mir da vorschlägst..^^ aber das geht schon..
nur wie gesagt, die bat muss rausfinden, wie Ordner1 heißt
Bitte warten ..
Mitglied: Biber
01.12.2005 um 21:02 Uhr
Moin m3gaTefyt,
irgendwie halte ich Dein Problem ja für lösbar und würde Dir auch gern helfen.. aber für mich sind die Infos noch ein bisschen unzureichend...

Kannst Du mal ein Beispiel posten bitte (oder per pn senden, wenn es SEHR geheim ist) ?

Wann, wie, warum (per Knopfdruck oder immer um Mitternacht oder..) soll denn dieses Umbenennen starten?
Wo kommt denn "neuername" her?
Wie unterscheidest Du umzubenennende und umbenannte Ordner?
Oder, was um Himmels Willen steckt überhaupt dahinter?

Sorry, wenn ich manchmal langsamer begreife
Biber
Bitte warten ..
Mitglied: m3gaTefyt
02.12.2005 um 23:10 Uhr
Ja, ich dachte mir schon, dass das ganze etwas verwirrend ist..
Habs aber jetzt anders gelöst, hab den Namen des Verzeichnisses aus ner Textdatei heraus bestimmt.. funktioniert soweit alles, also darüber bitte keine Gedanken mehr machen^^

01.
For /F "skip=3 tokens=2*" %%I in (config\config.txt) do call :Continue "%%I" 
02.
:Continue 
03.
Set "acc_folder=%~1"
Nur hab ich noch ein kleines Problem.. in der Textdatei (ist ne Konfigurationsdatei) steht in der betreffenden Zeile:
01.
	"AutoLoginUser"		"Account123"
Oben genannter Vorgang definiert die Variable %acc_folder% als ""Account123"", ich brauche daher eine Möglichkeit, die Anführungszeichen ignorieren zu lassen..
Bitte warten ..
Mitglied: Biber
03.12.2005 um 00:13 Uhr
Moin m3gaTefyt,

na, dabei kann ich helfen - eine Tilde an der richtigen Stelle entfernt die umgebenden Anführungszeichen.
Demo vom CMD-Prompt aus: (mein Prompt dargestellt durch "$cmd$")
01.
$cmd$type eineIni.ini 
02.
blablablubb 
03.
"AutoLoginUser" "Account123" 
04.
 
05.
$cmd$for /F "skip=2 tokens=1,2" %i in ('find /i "AutoLoginUser" eineIni.ini') do @echo %i %j 
06.
"AutoLoginUser" "Account123" 
07.
 
08.
$cmd$for /F "skip=2 tokens=1,2" %i in ('find /i "AutoLoginUser" eineIni.ini') do @echo %~i %~j 
09.
AutoLoginUser Account123 
10.
 
11.
### Demnach müsste es in Deinem Fall so funktionieren: 
12.
For /F "skip=3 tokens=2*" %%I in (config\config.txt) do set "acc_folder=%%~I"
Hoffe, es ist erkennbar, was ich zeigen wollte und lässt sich verwerten.

Grüße
Biber
Bitte warten ..
Mitglied: m3gaTefyt
03.12.2005 um 18:52 Uhr
Demnach müsste es in Deinem Fall so
funktionieren:
For /F "skip=3 tokens=2*" %%I in
(config\config.txt) do set
"acc_folder=%%~I"

Hoffe, es ist erkennbar, was ich zeigen
wollte und lässt sich verwerten.
Grüße Biber


So, erstmal vielen Dank bis hierhin! Nur jetzt kommt bei mir "0" raus als Variable..
habe nichts geändert außer eben den Namen der Datei config.txt..


EDIT: So habs hinbekommen, musste es aber so machen:

For /F "skip=3 tokens=2*" %%i in (config\config.txt) do call :Continue "%%~i"

:Continue
Set "acc_folder=%~1"


Nochmals vielen Dank Biber!
Bitte warten ..
Mitglied: Biber
03.12.2005 um 22:32 Uhr
Uuuups, m3gaTefyt,
>>Nur jetzt kommt bei mir "0" raus als Variable..
There are more things
in heaven and earth, Horatio,
Than are dreamt of in your philosophy..

(W. Shakespeare, Hamlet, auch ohne 64-Bit-Betriebssystem)

Mit anderen Worten - ich glaube Dir das.. aber nachvollziehen kann ich es nicht.. *kopfschüttel*

Allerdings finde ich Deine Variablen-Ermittlung über Zeilen-Abzählen ("skip=3") auch etwas wackelig.
Wenn Du einen eindeutigen Identifier, ein Schlüsselwort hast wie dieses "AutoLoginUser", dann geh lieber den Weg über "find" wie oben skizziert und nimm wenigstens die richtige Zeile. Wo die "0" nun herkommt... dazu müsstest Du mir mal die config.txt zeigen.
Gegen ein nochmaliges Anfassen spricht natürlich die Regel Nr. 1 unserer Branche ...never change a running system...

Schönen Abend
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Syntaxfehler, aber finde ihn nicht :( (5)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Entwicklung
gelöst Verzeichnise sichern mit batch datei (Win10) (13)

Frage von Limbach zum Thema Entwicklung ...

Batch & Shell
gelöst Mehrere Grafiken mit Batch umbenennen (3)

Frage von SeraphinaJ zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (12)

Frage von shearer9 zum Thema Voice over IP ...