Windows:从文件夹中提取文件名

时间:2015-06-18 13:56:38

标签: windows batch-file replace cmd extract

这是我在这里的第一篇文章,我会尽量做到直白。

我在Windows 7上。 当然DOS可以执行此操作。也许应用程序可以做到这一点?

我想从特定文件夹上的200多个文件中提取/复制所有带或不带扩展名的文件名。 然后,打印/过去txt文件中的所有名称,保持字母顺序(必填)。

这些文件是webfonts。 每种字体都有几种格式:.woff,.svg,.eot,.ttf等。 主要目标是使用束css @ font-face规则快速编写maxi CSS文件以供参考。 然后在FTP上的生产CSS文件中复制/粘贴测试规则。

这是第一种方法。

最好的方法是逐步替换字符串(" FontName"" fontname"在这种情况下):

@font-face {
    font-family: 'FontName';
    src: url('http://yoursite.com/fonts/fontname.eot');
    src: url('http://yoursite.com/fonts/fontname.eot?#iefix') format('embedded-opentype'),
        url('http://yoursite.com/fonts/fontname.woff') format('woff'),
        url('http://yoursite.com/fonts/fontname.ttf') format('truetype'),
        url('http://yoursite.com/fonts/fontname.svg#fontname') format('svg');
}
@font-face {
    font-family: 'FontName';
    src: url('http://yoursite.com/fonts/fontname.eot');
    src: url('http://yoursite.com/fonts/fontname.eot?#iefix') format('embedded-opentype'),
        url('http://yoursite.com/fonts/fontname.woff') format('woff'),
        url('http://yoursite.com/fonts/fontname.ttf') format('truetype'),
        url('http://yoursite.com/fonts/fontname.svg#fontname') format('svg');
}
@font-face {
    font-family: 'FontName';
    src: url('http://yoursite.com/fonts/fontname.eot');
    src: url('http://yoursite.com/fonts/fontname.eot?#iefix') format('embedded-opentype'),
        url('http://yoursite.com/fonts/fontname.woff') format('woff'),
        url('http://yoursite.com/fonts/fontname.ttf') format('truetype'),
        url('http://yoursite.com/fonts/fontname.svg#fontname') format('svg');
}

等等...

我知道Mac上的Coda应用程序可以帮助选择性粘贴,BTW我不再拥有Mac,也无法找到任何好的帮助工具。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

就像a_horse_with_no_name所说,Windows中没有“DOS”。

假设您的意思是cmd.exe,

将所有文件名放入文件中 - 已排序

dir /b > files.txt

然后你可以做类似下面的事情。警告:未经测试,因此请根据需要进行编辑。

for /f "tokens=1" %a in ('type files.txt') do echo url
('http://yoursite.com/fonts/' %~nxa ') format (' %~xa ') >> outfile.txt

答案 1 :(得分:0)

这段代码可能会给你一个很好的起点:

@echo off
setlocal EnableDelayedExpansion

set "lastFamily="
for /F "tokens=1,2 delims=." %%a in ('dir /B') do (
   if "%%a" neq "!lastFamily!" (
      if defined lastFamily (
         echo    ;
         echo }
      )
      set "lastFamily=%%a"
      echo @font-face {
      echo    font-family: '%%a';
      echo    src:
   )
   if "%%b" equ "eot"  echo        url('http://yoursite.com/fonts/%%a.eot?#iefix') format('embedded-opentype'),
   if "%%b" equ "woff" echo        url('http://yoursite.com/fonts/%%a.woff') format('woff'),
   if "%%b" equ "ttf"  echo        url('http://yoursite.com/fonts/%%a.ttf') format('truetype'),
   if "%%b" equ "svg"  echo        url('http://yoursite.com/fonts/%%a.svg#%%a') format('svg');
)
echo    ;
echo }