Articles of batch file

如何使batch file自己删除?

是否有可能使batch file删除自己? 我试图让它执行另一个文件来删除它,但是这不起作用有没有人知道我可以做到这一点。 我正在使用的batch file被提升。 我的操作系统是Windows 7 32位。

“Droplet”批处理脚本 – 包含&号的文件名

我试图创build一个batch file,可以有其他文件放在它上面。 具体来说,我使用ffmpeg来编辑手持式录音机产生的audio文件。 问题是使用与&符号的文件名。 即使在引用input时,也只有当文件被放到它上面时,才会将&放下。 如果文件名input是在命令行input的,脚本工作正常。 在cmd窗口closures之前,我暂时看到文件名的其余部分,并显示错误,说明它不被识别为有效的命令。 这是我的脚本: rem更改为驱动器和input文件的目录 %〜D1 cd%〜p1 rem ffmpeg:混合到一个通道,加倍音量 %HOMEDRIVE %% HOMEPATH%\ ffmpeg.exe -i“%〜nx1”-ac 1 -vol 1024“%〜n1 fixed%〜x1” 暂停 下面是删除"ch17&18.mp3"后在命令行上出现的内容: C:\ Users \ computergeeksjw \ Desktop> C:\ Users \ computergeeksjw \ ffmpeg.exe -i“ch17”-ac 1 -vol 1024“ch17 fixed” […] ch17:没有这样的文件或目录 万一它很重要:我正在使用Windows 8开发人员预览。 这是否导致我的问题? 在Windows 7或更早版本上是否出现相同的错误?

拆分path并在批处理脚本中取最后的文件夹名称

我想用\分割string(有一个path),并把最后一个文件夹名称放在一个variables中。 请帮忙。 例如 mypath中= d:\ FOLDER1 \ FOLDER2 \ FOLDER3 \ 我想在一个variables的FOLDER3。 我试着用下面的命令工作,如果最后一个字符不是\ : for %f in (C:\FOLDER1\FOLDER2\FOLDER3) do set myfolder=%~nxf 如果最后一个字符是\ 另外它不工作,如果使用variables如: for%f(%mypath%)do set myfolder =%〜nxf

如何使Windows批处理脚本完全沉默?

这个问题已经有几代人问过了,但是尽pipe编写了一些非常复杂的Windows脚本,我似乎无法find如何使它们实际上保持沉默。 以下是我目前的一个脚本的摘录: @ECHO OFF SET scriptDirectory=%~dp0 COPY %scriptDirectory%test.bat %scriptDirectory%test2.bat FOR /F %%f IN ('dir /B "%scriptDirectory%*.noext"') DO ( del "%scriptDirectory%%%f" ) ECHO 结果是: C:\Temp> test.bat 1 file(s) copied. File Not Found Echo is off. C:\Temp> 而“1个文件被复制”。 只是烦人的,“文件未find”,使用户认为出了问题(它没有 – 没有文件是好的)。

%x在这个时候是意外的。 批处理脚本

@echo off for /f "tokens=1,2 delims=," %%x in (my.csv) do ( if %M% LSS %%x set M=%%x ) echo Max X Value= %M% 有时它工作正常,有时会失败,并出现以下错误: %x was unexpected at this time.

并行工作的CMD实例的信号量

我有.bat这将开始X次(不同的论点)在同一时间。 我希望他们修改一个特定的文件,但必须按照可控的延迟顺序进行。 理想情况下,我需要一种机制,只允许一只蝙蝠locking文件,并在需要时进行处理,而不是释放它,以允许另一个进程执行相同的操作。

如何在Windowsbatch file中获取Java程序的退出状态

类似于$? 在Linux中,有没有办法在Windowsbatch file( .bat )中获取程序的退出状态? 例如,程序成功执行后有一个System.exit(0) ,出现故障时有一个System.exit(1) ,如何将这些出口值捕获到.bat文件中?

如何将存储在utf-8中的batch file转换为通过另一个batch file运行的文件

我有一个程序,我用来创build一个batch file。 我的问题是,该程序的输出是UTF-8,所以一旦任何变音标记如é,à,ö,Ä在我的batch file中失败。 看来我不能找出一种方法来将我的输出转换为任何东西,但在创buildbatch file的程序中的UTF-8。 所以我想创build两个巴赫文件。 实际的一个和另一个将实际的UTF-8转换为ANSI(Windows代码页1252,或者可能是cp 850),然后执行它。 当然我会添加一个chcp xxxx作为实际batch file的第一个命令。 所以我的问题是,在Windows上有iconv的替代scheme – 或者如何使用第二个batch file将UTF-8文本文件转换为Windows代码页。 有没有什么内置的Win XP中,我可以使用,还是有一个免费的和可再发行的工具,我可以用这个? 注意: chcp 65001 不适用于batch file。 编辑1: 在Windows XP上,我创build了两个batch file来testing第一个答案。 1.bat编码为UTF-8无BOM包含: chcp 1252 cd üöä 2.bat也编码为UTF-8无BOM – 但没有任何特殊字符包含: chcp 1252 type "1.bat" >"ansi_file.bat" 执行2.bat时创build的结果ansi_file.bat仍然是utf-8编码,而不是ansi编码。 编辑2: 所提到的逆向过程起作用。 chcp 1252 echo ü > ansi.txt cmd /u /c type ansi.txt > […]

运行批处理脚本时如何最小化命令提示符?

有谁知道如何最小化在Windows 3.11中运行批处理脚本时的命令提示符? 在Windows XP中,有一个命令 start /min start.bat 为了最小化cmd提示符,是否在MSDos 6.22中有相似的命令?

运行一个.bat文件的PHP脚本

我需要每天晚上在服务器上运行一个php脚本。 在Linux系统上,我设置了一个cron作业,但是我被一个windows系统困住了。 我知道我必须使用Windows任务计划程序设置任务,并且该任务需要运行一个.bat文件,该文件又将运行php文件,但是我试图写入.bat文件。 我目前拥有的是: @echo off REM this command runs the nightly cron job start "C:\Program Files (x86)\PHP\v5.3\php.exe" -f C:\inetpub\wwwroot\sitename\crons\reminder-email.php 但是,当我尝试手动运行.bat文件来testing它,我得到一个Windows警报说 “Windows找不到'-f',确保你input的名字正确,然后重试。 我错过了什么?