gpt4 book ai didi

dos - 我该如何修复这个批处理脚本?

转载 作者:行者123 更新时间:2023-12-04 05:45:42 27 4
gpt4 key购买 nike

我正在尝试编写一个批处理脚本,将多个 css 文件合并到一个文件中。到目前为止,我已经想出了这个......

# Set start folders & files
set fn1=filename.css
set fn2=another-filename.css
set fn3=yet-another-filename.css

# get filename add to temp file inside comment syntax
echo /* %fn1% >> tmp.css
echo. --------------------------------------------------------------- */ >> tmp.css
echo. >> tmp.css

# copy file contents
copy/b %fn1% + tmp.css

# repeat with other files...

echo /* %fn2% >> tmp.css
echo. --------------------------------------------------------------- */ >> tmp.css
echo. >> tmp.css
copy/b %fn2% + tmp.css

...

rename tmp.css combined-files.css
move combined-files.css \new-folder\combined-files.css

问题是它产生以下
/* filename.css
--------------------------------- */
/* another-filename.css
--------------------------------- */
/* ... */

[styles from filename.css]
[styles from another-filename.css]
....

我哪里出错了?

谢谢

附言我尝试使用 ms-dos FOR 命令简化上述内容的尝试也很无趣。
set commentpt1=\*
set commentpt2=----------------------------------------- *\

FOR /F %%I IN ('DIR /s C:\[folder location]') DO echo %commentpt1% %%~nI 0x0A %commentpt2% 0x0A 0x0A >> temp.css copy/b %%I + tmp.css >> temp.css

最佳答案

您的主要问题是您在 COPY/B 命令中颠倒了文件名的顺序。此问题的副作用是您正在修改原始文件!

您可能不想看到 COPY/B 命令的输出,因此可以重定向到 nul。

在移动临时文件之前无需重命名它。

事实上,为什么要使用临时文件呢?为什么不直接写入您想要的目标文件?

我会把空行放在文件内容之后,而不是之前。我觉得它看起来更好。
使用更安全echo(而不是 echo. .

但是......有一种更简单、更干净的方法来做你想做的事。

@echo off
(
for %%F in (
"filename.css"
"another-filename.css"
"yet-another-filename.css"
) do (
echo /* %%~F
echo --------------------------------------------------------------- */
type %%F
echo(
)
)>"\new-folder\combined-files.css"

如果要合并文件夹中的所有 .css 文件,那么就更简单了:
@echo off
(
for %%F in ( *.css ) do (
echo /* %%~fF
echo --------------------------------------------------------------- */
type "%%~fF"
echo(
)
)>"\new-folder\combined-files.css"

以上处理当前目录,但您可以在 IN() 子句中包含路径信息。

关于dos - 我该如何修复这个批处理脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10717772/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com