Articles of batch file

Windows批处理脚本 – 尝试将variables保存到文本文件,然后在重新启动时将其加载回variables

我试图做一些可能很容易的事情。 我试图让Windows批处理脚本的用户设置背景颜色,并将其存储在一个txt文件中,然后每次运行该脚本时将其加载到一个variables中。 到目前为止我有: set / p ColourOpt = <%LogPath%\%UserName%_Options.Colour.log 它将.log文件的内容加载到ColourOptvariables中(%username%和%logpath%已经被定义并正常工作)。 然后我使用下面的代码来应用该选项: If /I '%Colouropt%'=='0f' Color 0f If /I '%Colouropt%'=='08' Color 08 If /I '%Colouropt%'=='0c' Color 0c If /I '%Colouropt%'=='0d' Color 0d If /I '%Colouropt%'=='0e' Color 0e If /I '%Colouropt%'=='0a' Color 0a If /I '%Colouropt%'=='1a' Color 1a If /I '%Colouropt%'=='1c' Color 1c If /I '%Colouropt%'=='1e' Color […]

如何在批处理命令中包含一行文本文件?

如何在cmd中的命令中包含文本文件中的一行? 例如 Text File1.txt notepad firefox outlook 所以你可以执行一个命令,例如start(这里是行号) 所以“启动3”会启动outlook等

对于声明 – 真正的奇数输出(batch file)

我有以下批处理语句: for /f "delims=" %%x in (file.lst) do set "offendingfile=%%x" 虽然有些奇怪的原因,当它被称为输出: "C:\Windows\calc.exe " 代替 "C:\Windows\calc.exe" 由于存在尾随空格,我无法正确使用batch file中的任何其他语句,是否有人知道为什么会这样做,以及如何解决这个问题,因为它已经让我疯狂了!

使用批处理脚本读取每5行

我想做一个批处理程序,将显示文本文件的第5行,如行号1,6,11,16 ….我试着修改head.bat代码在这里find: Windows批处理命令(S)读取来自文本文件的第一行 我的代码如下所示: @echo off setlocal enabledelayedexpansion if [%1] == [] goto usage SET /a counter=0 for /f "usebackq delims=" %%a in (%1) do ( set /a testcond=(%%counter-1)%4 if "!testcond!"=="0" echo %%a set /a counter+=1 ) goto exit :usage echo Usage: fifth FILENAME :exit 此代码不起作用。 你能告诉我这个代码有什么问题吗?

将DOS / Windows批处理的一部分转换成linux shell

我会很高兴,如果有人可以告诉我什么下面的行应该看起来像在Linux斌/ bash脚本: rand1=%RANDOM% rand2=%rand1:~1,2% if %rand2% LSS 10 rand2=%rand2%+10 set /a macc6=%rand2% 甚至不知道是否有相当于%RANDOM%开始…

batch file集/ pexpression式

我试图使errorlevel环境variables增加一个我的代码的某个部分运行。 我读了一套/? 你可以使用/ p列出需要在等号后面计算的expression式,但是它根本不会改变错误级别。 这是我的。 if not %cd2%==%cd1% (goto :installauto) else set /p errorlevel=(%errorlevel%+1) 感谢您的帮助,对不起,如果这是一个noob问题。 > < 编辑:哇,我是个白痴。 / a标签用于expression式。 抱歉哈哈

Windows批处理用于处理string的文件

我有以下代码来确定一个文件是否在第二行(:: echo1,:: echo2和:: echo3)上有一个string。 然而,当我在子例程中运行我的代码时:IF命令中的_verify在FOR命令中完全跳过了IF的else节,增加了variables%chk%并返回到:_verify,这又增加了数量of :: echo,它正在文件中查找并再次search同一个文件(它需要search每个文件的全部3个)。 我尝试将IF命令反转为IF NOT,并将其他命令切换到前面,然后调用:_redeem last,但同样的错误发生了。 (注意:它完成了包含:: echo1的文件的正确调用:_verify)。 它只检查每个文件的:: echo1,因为它不会增加%chk%并转到:_verify了。 相反,它直接转到goto:eof并返回:标识find另一个文件,它将再次只处理:: echo1。 我已经添加了评论来帮助解释我的脚本。 set gt1=1 setLocal EnableDelayedExpansion ::Identifies all files meeting the criteria (name being tmp*.tmp) and sets cap%gt1% equal the filename. Also checks to see if there are no files left (if the filename doesn't exist (ie it's blank because […]

如何从命令行中删除系统驱动器中的所有文件夹

我试图写一个批处理脚本删除系统驱动器(系统文件夹,文件除外)的所有文件夹和文件,但我卡在文件夹位。 这是一个Windows XP无人值守安装磁盘,我已经集成的更新之一创build一个随机文件夹的C:\驱动器,我不能删除与脚本的名称是随机的。 这是我到目前为止: @echoclosures 颜色17 回声删除testing 回声。 回声我们希望保持隐藏的方式 如果存在“%systemdrive%\ AUTOEXEC.BAT”attrib + h“%systemdrive%\ AUTOEXEC.BAT” 如果存在“%systemdrive%\ CONFIG.SYS”attrib + h“%systemdrive%\ CONFIG.SYS” 如果存在“%systemdrive%\ Documents and Settings”attrib + h“%systemdrive%\ Documents and Settings” 如果存在“%systemdrive%\ Program Files”attrib + h“%systemdrive%\ Program Files” 如果存在“%systemdrive%\ Sysprep”attrib + h“%systemdrive%\ Sysprep” 如果存在“%systemdrive%\ temp”attrib + h“%systemdrive%\ temp” 如果存在“%systemdrive%\ WINDOWS”attrib + h“%systemdrive%\ WINDOWS” 回声完成! 回声。 echo删除系统驱动器上未隐藏的所有内容 del / […]

Windows批处理脚本复制文件上次修改

我正在尝试编写一个快速批处理脚本来查看一个文件的最后修改date,并将它与其他几个文件的最后修改date进行比较,如果它大于其他lastmods,则会将这些文件复制到这些目录中。 这是我迄今为止: @echo off for %%a in ([srcFile]) do set lastmodSrc=%%~ta echo lastmodSrc for %%a in ([dstFile1]) do set lastmodDst1=%%~ta for %%a in ([dstFile2]) do set lastmodDst2=%%~ta for %%a in ([dstFile3]) do set lastmodDst3=%%~ta for %%a in ([dstFile4]) do set lastmodDst4=%%~ta if lastmodSrc GTR lastmodDst1 xcopy [srcFile] [dstDir1] /-y if lastmodSrc GTR lastmodDst2 xcopy [srcFile] […]

批处理 – 从单词中创build字符

我正在处理巨大的batch file,我需要,当用户将例如写你好: set input = set /p input=Type hello here: 我需要从它做出H ello ..并将其保存到TXT %character_input% >hash.txt 你能帮我吗? 谢谢..