Hello,
Is it possible to create files from list. I have a list.txt with filenames (or file tree) and would like to recreate the structure.
I tried bat plugin, but can not make it work.
Create files/dir tree from list
Moderators: white, Hacker, petermad, Stefan2
VBScript: Create folder file from list, Erstelle aus Liste
How to differ between files and folders?
Usually in my lists, the folder have a trailing back slash,
as TC does already for creating his lists with %F, %L and such.
Examples:
X:\Test\Folder\
X:\Test\Folder\file.txt
X:\Test\Folder.No2\I am another file.txt
X:\Test\Folder.No3\
X:\Test\Folder.No3\I am a Sub folder\
X:\Test\Folder.No3\I am a file without extension
For that, we can use e.g. a VBScript like this:
Create folders or files from a text file
Erzeuge Verzeichnisse oder Dateien aus einer Textliste
TC Command
Command : D:\rive\path\to\CreateFromList.vbs
Parameter: %P%N "%T"
---
EDIT:
change the "sRemoveThis = InputBox" -part.
Usually in my lists, the folder have a trailing back slash,
as TC does already for creating his lists with %F, %L and such.
Examples:
X:\Test\Folder\
X:\Test\Folder\file.txt
X:\Test\Folder.No2\I am another file.txt
X:\Test\Folder.No3\
X:\Test\Folder.No3\I am a Sub folder\
X:\Test\Folder.No3\I am a file without extension
For that, we can use e.g. a VBScript like this:
Create folders or files from a text file
Erzeuge Verzeichnisse oder Dateien aus einer Textliste
TC Command
Command : D:\rive\path\to\CreateFromList.vbs
Parameter: %P%N "%T"
Code: Select all
'http://ghisler.ch/board/viewtopic.php?p=294280#294280 , '2015-03-24 Stefan, v0.001
'// TC button:
'Command : D:\rive\path\to\CreateFromList.vbs
'Parameter: %P%N "%T"
'or
'Parameter: %P%N "%P"
'Icon : C:\Windows\System32\WScript.exe
'Tooltip : Create folders or files from a text file
'// VBS code:
Set FSO = CreateObject("Scripting.FileSystemObject")
'Get Parameter %P%N
sFileList = Wscript.arguments.Item(0)
'Get Parameter "%T"
sTargetPath = Wscript.arguments.Item(1)
If FSO.FileExists(sFileList) Then
Const FOR_READING = 1
bRemoveQuery = True
bPromptUser = True
Set oTextStream = FSO.OpenTextFile(sFileList,FOR_READING)
Do Until oTextStream.AtEndOfStream
sCurrentLine = oTextStream.ReadLine
'//You may want to modify the read lines first a bit?:
'OLD: If(bRemoveQuery) Then sRemoveThis = InputBox("Remove this part from each line (e.g. 'X:\'):") : bRemoveQuery = False
'NEW:
If(bRemoveQuery) Then sRemoveThis = InputBox("Remove this part from each line (e.g. 'X:\'):" _
& vbCRLF & vbCRLF & "Your first line is:" & vbCRLF & sCurrentLine) : bRemoveQuery = False
sCurrentLine = replace(Lcase(sCurrentLine), Lcase(sRemoveThis), "")
sNewItem = sTargetPath & "\" & sCurrentLine
sNewItem = replace(sNewItem, "\\\", "\")
sNewItem = replace(sNewItem, "\\" , "\")
'sNewItem = replace(sNewItem, ":" , "")
sNewFold = left(sTargetPath, len(sTargetPath) -1)
'//Debugging:
If(bPromptUser) Then
sAskUser = MsgBox("Do this really?" & vbCRLF & "Create: " & sNewItem _
& vbCRLF & vbCRLF & "[Yes=Do it and ask again] [No=Do it all] [Cancel=Stop script]", _
vbYesNoCancel + vbQuestion, "Question")
End If
if (sAskUser = vbCancel) Then WScript.Quit
if (sAskUser = vbNo) Then bPromptUser = false
'//Create need path in-between:
aPaths = split(sCurrentLine, "\")
for x=0 to Ubound(aPaths) -1
sNewFold = sNewFold & "\" & aPaths(x)
If Not FSO.FolderExists(sNewFold) Then FSO.CreateFolder(sNewFold)
next
'//Create folder or file:
sTrailingChar = right(sNewItem,1)
If (sTrailingChar = "\") Then
If Not FSO.FolderExists(sNewItem) Then FSO.CreateFolder(sNewItem)
Else
If Not FSO.FileExists(sNewItem) Then FSO.CreateTextFile(sNewItem)
End If
Loop
oTextStream.Close
Else
MsgBox "TC file list from parameter %P%N not found. Please select the file list and start this script again."
End If
---
EDIT:
change the "sRemoveThis = InputBox" -part.
Last edited by Stefan2 on 2015-03-24, 11:58 UTC, edited 1 time in total.
-
- New Member
- Posts: 1
- Joined: 2019-11-26, 12:31 UTC
Re: Create files/dir tree from list
Stefan,
thanks, the script works well. It's just that upper-case letters in the list becomes lower-case letters in the directory names.
Thank you again!
Christian
thanks, the script works well. It's just that upper-case letters in the list becomes lower-case letters in the directory names.
Thank you again!
Christian
Re: Create files/dir tree from list
What is your setting for "Configuration" -> "Options..." -> "Dispaly" -> "Show old 8.3 names in lowercase (like explorer)" ?upper-case letters in the list becomes lower-case letters in the directory names.
License #524 (1994)
Danish Total Commander Translator
TC 11.03 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1371a
TC 3.50b4 on Android 6 & 13
Try: TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Danish Total Commander Translator
TC 11.03 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1371a
TC 3.50b4 on Android 6 & 13
Try: TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Re: Create files/dir tree from list
Hi und willkommen, Christian!
Me guess your names are shorter than 9 chars and you have enabled to show 8.3 filenames lowercase?
Menu "Configuration > Options... > Display" >> [_] Show old 8.3 filenames lowercase (like explorer)
HTH?
GoldenMonkey wrote: ↑2019-11-26, 12:38 UTC It's just that upper-case letters in the list becomes lower-case letters in the directory names.
Me guess your names are shorter than 9 chars and you have enabled to show 8.3 filenames lowercase?
Menu "Configuration > Options... > Display" >> [_] Show old 8.3 filenames lowercase (like explorer)
HTH?