VB скрипт для переименования файлов? - PullRequest
0 голосов
/ 09 марта 2011

Я написал очень простой пакетный скрипт, который сделает для меня XSLT-преобразование, чтобы преобразовать кучу HTML-файлов в XML-файлы:

FOR %%i IN (*.htm) DO java -jar saxon.jar -o:"..\Front_Matter\%%i.xml" "%%i" "C:\Documents and Settings\Robert\Desktop\xsl\htm2xml.xsl"

XSLT работает нормально, но только создаваемый файл не имеет нужного имени файла, например, если исходное имя файла - «Happy Christmas.htm», я хочу, чтобы выходной xml назывался «Happy_Christmas». xml ", поэтому есть только две вещи, во-первых, это избавиться от части .htm исходного имени файла, а во-вторых, заменить пробел на подчеркивание.

Текущее имя файла в результате выглядит ужасно, например: "Happy Christmas.htm.xml".

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 09 марта 2011
  1. Используйте %%~ni вместо %%i для извлечения основного имени файла без расширения.

  2. Используйте синтаксис %var: =_% для замены пробелов взначение переменной var с подчеркиванием.

Итак, в основном вам нужно что-то вроде этого:

@echo off
setlocal enabledelayedexpansion

FOR %%i IN (*.htm) DO (
  SET basename=%%~ni
  SET basename=!basename: =_!
  java -jar saxon.jar -o:"..\Front_Matter\!basename!.xml" "%%i" "C:\Documents and Settings\Robert\Desktop\xsl\htm2xml.xsl"
)
0 голосов
/ 21 февраля 2013
Set fso = CreateObject("Scripting.FileSystemObject")

set oFldr = fso.getfolder("N:\Groups\TestGroup\UPS\")

for each ofile in oFldr.Files
  if lcase(fso.GetExtensionName(ofile.Name)) = "txt" then
    fso.MoveFile ofile.Path, ofile.ParentFolder & "\HRSC100.txt"

    Exit for
  end if
Next
*if you want vbscirpt then above will work*
...