Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Как пакетно отделить имена файлов от пути?

Ответить
Настройки темы
VBS/WSH/JS - Как пакетно отделить имена файлов от пути?

Пользователь


Сообщения: 87
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть список полных путей файлов в текстовом файле (допустим его зовут List.txt)
Типа:
D:\folderA\folderK\folderX\file1.ext1
E:\folderB\folderL\folderY\file2.ext2
F:\folderC\folderM\folderZ\file3.ext3
Имена как папок, так и файлов содержат русские буквы, пробелы, точки, запятые, тире.
Хотелось обработать его скриптом bat(js/vbs) чтобы на выходе получился текстовый файл (.csv) с колонками содержащими
1) исходную колонку; 2) путь без имени файла; 3) имя файла без пути; 4) имя файла без расширения; 5) расширение без имени
D:\folderA\folderK\folderX\file1.ext1 D:\folderA\folderK\folderX\ file1.ext1 file1 ext1
E:\folderB\folderL\folderY\file2.ext2 E:\folderB\folderL\folderY\ file2.ext2 file2 ext2
F:\folderC\folderM\folderZ\file3.ext3 F:\folderC\folderM\folderZ\ file3.ext3 file3 ext3
Возможно ли решение такой задачи?

Отправлено: 15:30, 10-10-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


csv — это немного другое:
Код: Выделить весь код
"D:\folderA\folderK\folderX\file1.ext1","D:\folderA\folderK\folderX\","file1.ext1","file1","ext1"
Пробуйте:
читать дальше »
Код: Выделить весь код
Option Explicit

Dim strSourceFile
Dim strDestFile

Dim objFSO
Dim objTS
Dim strLine


strSourceFile = "C:\Песочница\035\List.txt"
strDestFile   = "C:\Песочница\035\Out.txt"

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists(strSourceFile) Then
	Set objTS = objFSO.CreateTextFile(strDestFile, True)
	
	With objFSO.OpenTextFile(strSourceFile)
		Do Until .AtEndOfStream
			strLine = .ReadLine
			
			objTS.WriteLine                              """" & _
				strLine                             & """,""" & _
				objFSO.GetParentFolderName(strLine) & "\"",""" & _
				objFSO.GetFileName(strLine)         & """,""" & _
				objFSO.GetBaseName(strLine)         & """,""" & _
				objFSO.GetExtensionName(strLine)    & """"
		Loop
		
		.Close
	End With
	
	objTS.Close
	
	Set objTS = Nothing
Else
	WScript.Echo "Can't find source file [" & strSourceFile & "]."
End If

Set objFSO = Nothing

WScript.Quit 0

Путь Вам обязательно с завершающим слэшем?

Отправлено: 15:57, 10-10-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 87
Благодарности: 0

Профиль | Отправить PM | Цитировать


Завершающий слэш полезен для единообразия записи.
Спасибо за код, он мне отлично подошел.

Отправлено: 21:59, 10-10-2013 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Как пакетно отделить имена файлов от пути?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2010 - как пакетно назначить имена для клеток excel? Pozia Microsoft Office (Word, Excel, Outlook и т.д.) 59 04-09-2013 16:58
Как отделить объект от фона romashka7 Цифровое изображение 3 17-04-2010 01:15
как отделить слова от музыки Guest Хочу все знать 4 02-07-2004 02:01
Как отделить звук от клипа? vark Хочу все знать 19 07-01-2004 23:32
Как отделить слова от музы (если возможно) ??? TimStich Хочу все знать 1 05-07-2003 09:34




 
Переход