Questions tagged «batch-file»

批处理文件是一个文本文件,其中包含一系列命令,这些命令由MS-DOS,IBM OS / 2或Microsoft Windows系统上的命令解释器执行。


15
如何复制目录结构但仅包括某些文件(使用Windows批处理文件)
如标题所述,如何递归复制目录结构,但只包含一些文件。例如,给出以下目录结构: folder1 folder2 folder3 data.zip info.txt abc.xyz folder4 folder5 data.zip somefile.exe someotherfile.dll 文件data.zip和info.txt可以出现在目录结构中的任何位置。如何复制完整的目录结构,但仅包含名为data.zip和info.txt的文件(应忽略​​所有其他文件)? 生成的目录结构应如下所示: copy_of_folder1 folder2 folder3 data.zip info.txt folder4 folder5 data.zip


8
如何检查“ .bat”文件中的命令行参数?
我的操作系统是Windows Vista。我需要有一个“ .bat”文件,需要检查用户是否输入了任何命令行参数。如果是,那么如果参数等于,-b那么我将执行其他操作,否则将标记“无效输入”。如果用户没有输入任何命令行参数,那么我会做些事情。我创建了以下.bat文件。它适用于案例,但-b不等于-b案例-但是,如果用户未传递任何命令行参数,它将失败。 我总是会出错: GOTO was unexpected at this time. 谁能告诉我我在做什么错? ECHO OFF CLS ECHO. IF [%1]==[/?] GOTO BLANK IF %1=="-b" GOTO SPECIFIC IF NOT %1=="-b" GOTO UNKNOWN :SPECIFIC ECHO SPECIFIC GOTO DONE :BLANK ECHO No Parameter GOTO DONE :UNKNOWN ECHO Unknown Option GOTO DONE :DONE ECHO Done!
103 windows  file  batch-file  cmd 

16
我可以在bat文件中屏蔽输入文本吗?
我正在编写一个批处理文件以执行其他一些程序。在这种情况下,我需要提示输入密码。我有什么办法掩盖输入文本吗?我不需要打印*******字符而不是输入字符。Linux的密码提示行为(键入时不打印任何内容)就足够了。 @echo off SET /P variable=Password : echo %variable% Pause 这将读取输入内容,但是我无法使用这种方法掩盖文本。

4
批处理文件中的字符串替换
我们可以使用以下命令替换批处理文件中的字符串 set str="jump over the chair" set str=%str:chair=table% 这些行工作正常,并将字符串“跳转到椅子上”更改为“跳转到桌子上”。现在,我想用一些变量替换字符串中的“椅子”一词,但我不知道该怎么做。 set word=table set str="jump over the chair" ?? 有任何想法吗?


2
批处理文件中的at符号(@)是什么,它有什么作用?
一个熟悉Windows / Dos批处理脚本的人会认识到这一行: @echo off 许多天来,我对这样的感觉感到很满意,那@就是echo off在批处理的顶部应该写的就是这样。 然而,最近我就翻过这样一行: @php foo bar 和另一行是这样的: @call \\network\folder\batch.bat 这使我@更加怀疑,不仅仅是echo模式切换。但是@在Windows XP:命令行参考AZ中没有列出,我尝试将其用作参考,因此我不确定如何找到有关此的确定信息: 什么是@批量的标志,什么是它的术语,它有什么作用?

12
复制文件而不会覆盖
我只是似乎在命令行上找不到说“将目录A中的所有文件复制到目录B中的方法,但是如果该文件已存在于目录B中,那么无论哪个文件是较新的都不要覆盖它,不要提示我。” 我已经完成了复制,移动,xcopy和robocopy的工作,而我能得到的最接近的结果是,您可以告诉robocopy“将A复制到B,但不要用较旧的文件覆盖较新的文件”,但这对我不起作用。我查看了xxcopy,但将其丢弃了,因为我不希望第三方依赖Visual Studio生成后事件,该事件将要求其他SVN用户安装该工具才能进行生成。 我想在Visual Studio 2010中的构建后事件中添加命令行,以便从新EF模型对象的T4模板生成的文件被分发到它们所属的项目文件夹中,但为现有对象重新生成文件不要覆盖可能已编辑的目标文件。 由于T4模板会重新生成,因此源文件始终是较新的,并且我认为我不能可靠地使用“较新”的开关。 我为那些可以使用的项目使用了部分类,但是我生成的其他一些东西却不能使用部分类(例如,生成默认的EditorTemplate或DisplayTemplate * .ascx文件)。 任何人都有解决的类似问题吗?

8
批处理文件-命令行参数数
只是将一些shell脚本转换成批处理文件,我似乎找不到一件事...那就是对命令行参数数量的简单计数。 例如。如果你有: myapp foo bar 在Shell中: $#-> 2 $ *-> foo bar $ 0-> myapp $ 1-> foo $ 2->酒吧 分批 ?? -> 2 <----什么命令? %*-> foo栏 %0-> myapp %1-> foo %2->条 所以我环顾四周,或者我找错了地方,或者我瞎了眼,但是我似乎找不到找到传递传入的命令行参数数量的方法。 对于批处理文件,是否有类似于shell的“ $#”的命令? ps。我发现最接近的方法是遍历%1s并使用'shift',但是我稍后需要在脚本中引用%1,%2等,所以这样做不好。

5
使用Windows批处理文件中的命令结果设置变量的值
在Bash环境中工作时,要设置变量的值作为命令的结果,我通常会这样做: var=$(command -args) var该命令设置的变量在哪里command -args。然后,我可以通过访问该变量$var。 与几乎所有Unix shell兼容的更常规的实现方法是: set var=`command -args` 也就是说,如何在Windows批处理文件中通过命令的结果设置变量的值?我试过了: set var=command -args 但是我发现它var被设置为command -args而不是命令的输出。

7
在DOS批处理文件中注释多行
我写了巨大的MS DOS批处理文件。要测试此批处理文件,我只需要执行一些行,并希望隐藏/注释剩余的行。 我有一些现有的注释行开头,::因此我不能再使用::了,因为它会打乱所有注释。 我怎么解决这个问题?



5
相当于Bash反引号的批次
使用Bash时,我可以将一个命令的输出放到另一个命令中,如下所示: my_command `echo Test` 将与 my_command Test (显然,这只是一个不实际的示例。) 我只是想知道您是否可以批量执行相同的操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.