gelöst Batch soll TAB in Textdatei einfügen
Hallo wieder mal.
Ist wahrscheinlich ein sehr kleines Problem, aber ich komm einfach nicht weiter.
Wie in meinem Beitrag davor habe ich nun ein problem. Ich bekomme am Ende eine Textdatei mit Userpfaden und Uhrzeit. Nun soll hinter dem Userpfad ein oder 2 Tabs sein und dann erst das Datum, um es halt optisch zu verbessern. Wie mache ich das mit meiner Batch?
for /r "x:\" %%i in (bookmark.nsf?) do @wasfile "%%i" modified before today-42 && echo %%i %%~ti >> "c:\documents and settings\%username%\desktop\user.txt"
Ist wahrscheinlich ein sehr kleines Problem, aber ich komm einfach nicht weiter.
Wie in meinem Beitrag davor habe ich nun ein problem. Ich bekomme am Ende eine Textdatei mit Userpfaden und Uhrzeit. Nun soll hinter dem Userpfad ein oder 2 Tabs sein und dann erst das Datum, um es halt optisch zu verbessern. Wie mache ich das mit meiner Batch?
for /r "x:\" %%i in (bookmark.nsf?) do @wasfile "%%i" modified before today-42 && echo %%i %%~ti >> "c:\documents and settings\%username%\desktop\user.txt"
7 Antworten
- LÖSUNG miniversum schreibt am 27.02.2008 um 13:33:32 Uhr
- LÖSUNG Biber schreibt am 27.02.2008 um 16:51:40 Uhr
- LÖSUNG 52188 schreibt am 27.02.2008 um 17:36:04 Uhr
- LÖSUNG Biber schreibt am 27.02.2008 um 18:08:51 Uhr
- LÖSUNG 52188 schreibt am 28.02.2008 um 10:55:21 Uhr
- LÖSUNG Biber schreibt am 28.02.2008 um 11:08:59 Uhr
- LÖSUNG 52188 schreibt am 28.02.2008 um 11:24:22 Uhr
- LÖSUNG 52188 schreibt am 28.02.2008 um 10:55:21 Uhr
- LÖSUNG Biber schreibt am 27.02.2008 um 18:08:51 Uhr
- LÖSUNG 52188 schreibt am 27.02.2008 um 17:36:04 Uhr
- LÖSUNG Biber schreibt am 27.02.2008 um 16:51:40 Uhr
LÖSUNG 27.02.2008 um 13:33 Uhr
set "tab= " & REM Dies hier ist ein Tab
for /r "x:\" %%i in (bookmark.nsf?) do @wasfile "%%i" modified before today-42 && echo %%i%tab%%%~ti >> "c:\documents and settings\%username%\desktop\user.txt"
for /r "x:\" %%i in (bookmark.nsf?) do @wasfile "%%i" modified before today-42 && echo %%i%tab%%%~ti >> "c:\documents and settings\%username%\desktop\user.txt"
LÖSUNG 27.02.2008 um 16:51 Uhr
...alternativ könntest Du auch auf die Variable %tab% verzichten und einen (zwei, drei) Tabs direkt nach der DO-Anweisung eingeben.
Aber der TAB funktioniert halt nur in einer Batch-Datei, d.h. in irgendeinem abgespeicherten Textfile und nicht am CMD-Prompt selbst.
Dort ist es nicht möglich, einen TAB in eine zu testende FOR-Anweisung einzubauen.
Weitere Alternative wäre das "Padden" des Strings (Verlängern um z.B. 100 Leerzeichen und anschließendes Verwenden der ersten 100 Zeichen des Gesamtstrings).
Also in etwa als Pseudocode "Left(Dateiname+Spaces(100),100) + Uhrzeit"
Aber wenn ein Tab reicht, dann lassen wir das mal so...
Grüße
Biber
Aber der TAB funktioniert halt nur in einer Batch-Datei, d.h. in irgendeinem abgespeicherten Textfile und nicht am CMD-Prompt selbst.
Dort ist es nicht möglich, einen TAB in eine zu testende FOR-Anweisung einzubauen.
Weitere Alternative wäre das "Padden" des Strings (Verlängern um z.B. 100 Leerzeichen und anschließendes Verwenden der ersten 100 Zeichen des Gesamtstrings).
Also in etwa als Pseudocode "Left(Dateiname+Spaces(100),100) + Uhrzeit"
Aber wenn ein Tab reicht, dann lassen wir das mal so...
Grüße
Biber
LÖSUNG 27.02.2008 um 17:36 Uhr
STOPP Erzähl mir mehr davon
LÖSUNG 27.02.2008 um 18:08 Uhr
Moin wurzel87,
Beispiel:
Grüße
Biber
Beispiel:
01.
@echo off % setlocal
02.
Set /a "max=100, toDo=100" & Set "spaces="
03.
:EinSpaceDazu
04.
Set "spaces=%spaces% "
05.
set /a todo-=1
06.
if %todo% GTR 0 goto :EinSpaceDazu
07.
08.
REM Hier sollten 100 Leerzeichen in der Variablen %spaces% angekommen sein.
09.
10.
for /r "x:\" %%i in (bookmark.nsf?) do (
11.
wasfile "%%i" modified before today-42 && call :SchreibsWech "%%i" %%~ti
12.
)
13.
14.
goto :eof
15.
16.
~~~~~~~
17.
:SchreibsWech Parameter1 Pfad/Dateiname ; Parameter2 datum Parameter3 Uhrzeit [ignoriert]
18.
Echo [Debug] Pfad/Dateiname [%~1] Datum [%2] Uhrzeit [%3]
19.
Set "Temptext=%~1 %spaces%"
20.
REM in der Vorzeile werden viele Leerzeichen an Param1 [=Dateiname] angehängt in einer neuen Variablen temptext
21.
REM in der nächsten Zeile werden von %temptext% die ersten 30 Zeichen genommen bzw. das ~0,29 macht das...
22.
REM Danach der Parameter2/Datum angehängt und alles ausgegeben.
23.
Echo %temptext:~0,29% %2
24.
goto :eof
Biber
LÖSUNG 28.02.2008 um 10:55 Uhr
Funktioniert schon fast top, aber jetzt hab ich ds Problem dass er das ganze nur einmal macht und nicht mehr das ganze Laufwerk durchsucht.
LÖSUNG 28.02.2008 um 11:08 Uhr
Moin wurzel87,
hab ich nicht verstanden.... ich habe ein Beispiel für "Padding" statt TABs-Einschieben gepostet und an Deiner FOR-Konstruktion nichts angefasst.
Dann muss es also wohl andere Ursachen haben.
Eventuell könnte ein Posten Deines jetzigen Schnipsel-Standes helfen...
Grüße
Biber
wenn es eine Gesprächseröffnung gibt, die jedem Entwickler das Herz weit macht, dann ist es "Funktioniert schon fast top, aber ...
hab ich nicht verstanden.... ich habe ein Beispiel für "Padding" statt TABs-Einschieben gepostet und an Deiner FOR-Konstruktion nichts angefasst.
Dann muss es also wohl andere Ursachen haben.
Eventuell könnte ein Posten Deines jetzigen Schnipsel-Standes helfen...
Grüße
Biber
wenn es eine Gesprächseröffnung gibt, die jedem Entwickler das Herz weit macht, dann ist es "Funktioniert schon fast top, aber ...
LÖSUNG 28.02.2008 um 11:24 Uhr
Sorry, mein Fehler, geht doch jetzt, vielen Dank
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte