Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows batch file可将子文件夹中的.js文件合并到一个组合文件中_Windows_File_Batch File_Merge_Subdirectory - Fatal编程技术网

Windows batch file可将子文件夹中的.js文件合并到一个组合文件中

Windows batch file可将子文件夹中的.js文件合并到一个组合文件中,windows,file,batch-file,merge,subdirectory,Windows,File,Batch File,Merge,Subdirectory,我正在努力让它工作。网络上有很多例子,但它们都做了一些与我的目标略有不同的事情,每次我认为我能解决它时,我都会被一个对我来说毫无意义的错误击中 在放弃JSLint.VS插件之后,我尝试创建一个批处理文件,可以从VisualStudio构建事件调用,也可以从cruise control调用,该文件将为项目生成JSLint警告。最终目标是获得一个组合的js文件,我可以通过以下方式将其传递给jslint: cscript jslint.js < tmp.js 理想的解决方案是能够按照以下方式调

我正在努力让它工作。网络上有很多例子,但它们都做了一些与我的目标略有不同的事情,每次我认为我能解决它时,我都会被一个对我来说毫无意义的错误击中

在放弃JSLint.VS插件之后,我尝试创建一个批处理文件,可以从VisualStudio构建事件调用,也可以从cruise control调用,该文件将为项目生成JSLint警告。最终目标是获得一个组合的js文件,我可以通过以下方式将其传递给jslint:

cscript jslint.js < tmp.js
理想的解决方案是能够按照以下方式调用批处理文件:

jslint.bat %ProjectPath%
然后将项目中的所有js文件合并成一个临时js文件。这样我就可以灵活地将项目传递给批处理文件


我一直在尝试使用copy、xcopy、type和echo,并使用for-do循环、dir/s等来实现这一点,以实现我的目的,但无论我尝试什么,都会出现错误。

有关批处理文件的提示的好地方是


这篇文章是为Linux world编写的,但您仍然可以从中拯救一些东西。

您可以创建一个包含以下内容的批处理文件:

@echo off
pushd "%~1"
for /r %%x in (*.js) do (
    type "%%~x"
)
popd
然后通过以下方式运行:

jslint.bat PATH > tmp.js
如果不想使用重定向,可以尝试:

@echo off
pushd "%~1"
echo.>tmp.js
for /r %%x in (*.js) do (
    copy tmp.js + "%%~x" tmp.js > NUL
)
popd

请注意,为了简单起见,我没有费心做任何错误检查(例如,检查是否提供了参数(尽管如果没有,它将只使用当前目录),测试
tmp.js
是否不存在,等等)。

发布错误也不错。我有太多要提及的内容。我花了好几个小时在这上面,每次我碰到一堵砖墙。我不确定哪种错误最接近最终解决方案,因此我必须列出大约3或4种不同的尝试以及与之相关的错误。但是,如果需要的话,我会重新跟踪我的尝试,并列出我在执行时遇到的每个错误:)这将是一个好主意。向我们显示您当前的代码和错误。
@echo off
pushd "%~1"
echo.>tmp.js
for /r %%x in (*.js) do (
    copy tmp.js + "%%~x" tmp.js > NUL
)
popd