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

Textdateien aus Dateinamen erstellen

Frage Entwicklung Batch & Shell

Mitglied: RF1986

RF1986 (Level 1) - Jetzt verbinden

05.07.2008, aktualisiert 14:47 Uhr, 3300 Aufrufe, 1 Kommentar

Hallo,

Ich habe in einem Ordner mehrere Videodateien und möchte nun eine .bat Datei haben,
die jeweils zwei leere Textdateien mit dem gleichen Dateinamen und einem Zusatz erstellt.

Ausgang sind also die "videoname XYZ.wmv" Dateien

und dazu soll dann immer
"videoname XYZ zusatz1.txt"
"videoname XYZ zusatz2.txt"
hinzukommen

Die Namen sind Beispiele und müssen dann noch anpassbar sein.

Wäre für eine Lösung dankbar.

MfG
Mitglied: 1bgks6
05.07.2008 um 14:47 Uhr
Welche OS-Version? cmd.exe oder command.com?

0.) Der entscheidende Trick zur Erzeugung einer leeren Datei ist, entweder ein »touch dateiname« aus den Unix-Tools zu verwenden, oder die immer leere DOS-Systemdatei zu kopieren »copy /b nul: dateiname«. Das /b ist korrekt, aber entbehrlich. Wenn die Leerdatei eine Leerzeile enthalten soll bzw. darf, kannst Du auch »echo. >dateiname« verwenden. GGf. erstellst Du einfach selber ein (leeres) Template, das Du als Kopiervorlage verwendest. Ansonsten:
help for
help copy

Und Du machst es Dir durch Verwendung der lästigen Arbeitsbeschaffungsmaßnahme »Völlig sinnfreie Leerzeichen in Dateinamen und Pfaden anstatt konventioneller GroßKleinSchreibung, '.', '-' oder notfalls '_'« nur unnötig schwer. Bei dieser einfachen Aufgabe schlägt das Problem glücklicherweise noch nicht in voller Bosheit zu.

1.) Wozu bat? Das ist (für cmd.exe) fix in die Kommandozeile eingegeben:

01.
> for %s in (*.wmv) do copy nul: "%~ns zusatz1.txt" 
02.
<Pfeil hoch>, 5x<Pfeil links>, <Backspace>, 2, <Return>
Wie immer hilft das Powertoy cmd-here ab, jahrelang mit cd-Tab rumhampeln zu müssen, um ins gefragte Zielverzeichnis zu kommen.

2.) Bat wird erst interessant, wenn Du bereits existierende .txt nicht überschreiben willst und auch nicht mit tausend Abfragen genervt werden möchtest, daß Du es nicht willst. Leider kennt das copy von cmd.exe nur ein force (/y), während das /-y nicht als leider rein fiktives /n verstanden werden darf, und es kennt leider auch keine verbose-Option:

help if
01.
@for %%s in (*.wmv) do @( 
02.
  echo "%%~ns zusatz1.txt" 
03.
  if not exist "%%~ns zusatz1.txt" copy /b nul: "%%~ns zusatz1.txt" 
04.
  echo "%%~ns zusatz2.txt" 
05.
  if not exist "%%~ns zusatz2.txt" copy /b nul: "%%~ns zusatz2.txt" 
06.
)
Mit Hang zu Masochismus kann man das noch elegant Verschachteln. Das ist aber nur der Lesbarkeit und Verarbeitungsgeschwindigkeit abträglich und erfordert Popelei.

3.) Wellnessabteilung:

01.
::REM %%s videoname 
02.
::REM %%t XYZ 
03.
::REM %%u wmv 
04.
@for /f "tokens=1,2,3 delims=. " %%s in ('dir /b *.wmv') do @( 
05.
::REM Leerzeichen in »videoname XYZ.wmv« durch ».« ersetzen 
06.
  rename "%%s %%t.wmv" %%s.%%t.wmv 
07.
::REM touch videoname.XYZ.Zusatz.txt  
08.
  echo %%s.%%t.zusatz1.txt 
09.
  if not exist %%s.%%t.zusatz1.txt copy /b nul: %%s.%%t.zusatz1.txt 
10.
  echo "%%s.%%t.zusatz2.txt" 
11.
  if not exist "%%s.%%t.zusatz2.txt copy /b nul: %%s.%%t.zusatz2.txt 
12.
)
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ordnernamen aus Dateinamen erstellen (1)

Frage von Dr.Byte zum Thema Batch & Shell ...

E-Mail
Live.de Email erstellen (2)

Frage von themast zum Thema E-Mail ...

Batch & Shell
gelöst Erstellen von Verknüpfungen mithilfe einer Variablen (3)

Frage von ciNNEx zum Thema Batch & Shell ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...

Voice over IP
VoIP und DECT an Fritz Accesspoint (7)

Frage von Katosix zum Thema Voice over IP ...