WinFuture-Forum.de: Dateiversion Auslesen Und Quelltext Geht Nicht Im Batchfile - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Dateiversion Auslesen Und Quelltext Geht Nicht Im Batchfile 2Fragen: wie Dateiversion auslesen und Dateiändung ändern


#1 Mitglied ist offline   Gunnar-hro 

  • Gruppe: aktive Mitglieder
  • Beiträge: 134
  • Beigetreten: 16. Januar 05
  • Reputation: 0

geschrieben 26. Januar 2007 - 17:14

Hallo, ich bin noch blutiger Anfänger und muss ein Batchfile fertig stellen muss.
Ich habe einen Dateinamen, den ich teilen will, ändern will und wieder zusammenfügen möchte.
------------------------------------------------------------------------------------------------------
for /F "tokens=1,2 delims=." %%i in (NEWFILES1.txt) do echo.%%i>>ANFANG.txt
for /F "tokens=1,2 delims=." %%i in (NEWFILES1.txt) do (
echo..%%j:~0,2>>ENDE.txt
)
So funktioniert es leider nicht. Das %%j:~0,2 wird irgendwie nicht so angenommen.
In NEWFILES1.txt sind Dateinamen enthalten, die zuvor automatisch eingelesen wurden.

2. Frage: Ich möchte die Versionsnummer einer Datei per Batch auslesen. mit VER geht das ja nur mit Windows, aber was ist mit Dateien?

Dieser Beitrag wurde von Gunnar-hro bearbeitet: 29. Januar 2007 - 22:40

0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 26. Januar 2007 - 19:15

set ext=
for /f "delims=" %%i in (dateiliste1.txt) do (
set ext=%%~xi
set ext=!ext:~0,2!_
move "%%i" "%%~ni.!ext!"
if exist "%zielpfad%\%%~ni.!ext!" move /y "%%~ni.!ext!" "%zielpfad%\%%i"
)


Oder so. Ich glaube, daß Punkt 2 nicht ganz eindeutig ist.

(Dazu musst du natürlich Delayed Expansion aktiviert haben.)
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 Mitglied ist offline   Gunnar-hro 

  • Gruppe: aktive Mitglieder
  • Beiträge: 134
  • Beigetreten: 16. Januar 05
  • Reputation: 0

geschrieben 26. Januar 2007 - 20:47

Was ist denn Delayed Expansion? Meinst nicht die erweiterte Befehlserweiterung oder?
Wegen Punkt 2: Es soll lediglich geprüft werden, ob die Datei in Format dateiA.xyz oder dateiA.xy_ vorhanden ist und die dann durch eine gleichnamige neuere ersetzt werden soll.
Hast du noch gute Seiten über Batchprogrammierung?
0

#4 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 26. Januar 2007 - 21:53

Delayed Expansion == verzögerte Variablenausweiterung. Nein, das ist ein separates Feature.

Zitat

Wegen Punkt 2: Es soll lediglich geprüft werden, ob die Datei in Format dateiA.xyz oder dateiA.xy_ vorhanden ist und die dann durch eine gleichnamige neuere ersetzt werden soll.

Dann halt:
if exist "%zielpfad%\%%~ni.!ext!" move /y "%%~ni.!ext!" "%zielpfad%\%%~ni.!ext!"
if exist "%zielpfad%\%%i" move /y "%%i" "%zielpfad%\%%i"

Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#5 Mitglied ist offline   Gunnar-hro 

  • Gruppe: aktive Mitglieder
  • Beiträge: 134
  • Beigetreten: 16. Januar 05
  • Reputation: 0

geschrieben 29. Januar 2007 - 22:40

neue Frage......
0

#6 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 29. Januar 2007 - 23:04

Zitat

Ich habe einen Dateinamen, den ich teilen will, ändern will und wieder zusammenfügen möchte.

Hm... mir scheint's als wolltest du da was in Laufwerksbuchstaben und Pfad+Rest zerlegen. Dafür gibt's doch separate Konstrukte...

Zitat

So funktioniert es leider nicht. Das %%j:~0,2 wird irgendwie nicht so angenommen.

Logisch. Der korrekte Syntax lautet ja "%variable:~n,m%", und mit den generierten %%x ist das leider nicht möglich. Da brauchst du eine weitere Variable. Zudem möchtest du wahrscheinlich verzögert expandieren, wie bei den %%x intern realisiert:

set tmp=
for /F "tokens=1,2 delims=." %%i in (NEWFILES1.txt) do (
set tmp=%%j
echo..!tmp:~0,2!>>ENDE.txt


Zitat

In NEWFILES1.txt sind Dateinamen enthalten, die zuvor automatisch eingelesen wurden.

Ja, das habe ich befürchtet. Kannst du das nicht pipen?

Zitat

Ich möchte die Versionsnummer einer Datei per Batch auslesen. mit VER geht das ja nur mit Windows, aber was ist mit Dateien?

Mit SigCheck von Sysinternals äh Microsoft.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#7 Mitglied ist offline   Gunnar-hro 

  • Gruppe: aktive Mitglieder
  • Beiträge: 134
  • Beigetreten: 16. Januar 05
  • Reputation: 0

geschrieben 29. Januar 2007 - 23:31

die Erweiterte verzögerten Umgebungsvariablen kann ich mit cmd /v:on starten(steht jedenfalls in der Hilfe), aber dann geht das batchprogramm nicht weiter, wenn ich es dort einbaue :-/
0

#8 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 29. Januar 2007 - 23:45

Dann aktivierte es doch dauerhaft. Oder starte damit eine zweite Batch. Oder lass die Bacth sich selbst mit einem Parameter starten.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0