草庐IT

windows - 批处理脚本与命令行

当我在cmd提示符下运行以下命令时,它起作用了:for/R%fin(*.shp)doogr2ogr-nlnmerge-update-appendmerge.shp%f但是当我从.bat文件运行它时它不起作用。说-nln是出乎意料的。无论如何我可以从.bat文件运行它。 最佳答案 %字符对于命令行参数和FOR参数有特殊意义。要将百分比视为常规字符,将其加倍:%%当你从批处理文件中执行它时,你应该这样写:@echoonfor/R%%fin(*.shp)doogr2ogr-nlnmerge-update-appendmerge.shp%%

Windows 批处理 - ECHO 正在更改 %ERRORLEVEL%

我有以下.bat片段echoabouttostartechoing,Errorlevel=%Errorlevel%echo.>>../time.txtechoJustechodanewlineintotime.txt,Errorlevel=%Errorlevel%echo|set/p=start=%time%,>>../time.txtechoabouttostartwithemake,Errorlevel=%ERRORLEVEL%输出是:abouttostartechoing,Errorlevel=0Justechodanewlineintotime.txt,Errorlevel=0

windows - 用于检查 Windows 7 激活的批处理脚本

我正在尝试执行批处理脚本来检查LAN工作站的激活状态,到目前为止,我有以下代码将激活状态保存到.txt中。@echooffcscript/nologoc:\windows\system32\slmgr.vbs/xpr>ActivatedStatus.txt|findstr/i/c:"willexpire">NUL2>&1if[%errorlevel%]==[0](echoNotpermanentlyactivated.)else(echoPermanentlyactivated)exit/bActivatedStatus.txt的输出如下所示:Windows(R)7,Professio

Windows批处理循环遍历文件夹中的文件并解析文件名

如何循环遍历文件夹中的文件并解析文件名的部分并将其存储在变量+回显中?文件夹包含以下文件,需要提取年份:Actual2015.txtActual2016.txt我尝试过的:for%%fin(*.txt)do(setyear=%%f:~7,4%echo%year%)结果应该是:20142015 最佳答案 你需要delayedexpansion:setlocalenableDelayedExpansionfor%%fin(*.txt)do(setfname=%%nfsetyear=!fname:~6,4!echo!year!)

windows - 简单的 Windows 批处理移动文件夹

我只是想将d:\temp\test中的所有文件和子目录移动到d:\temp\archive中,所以我尝试了这些命令:moved:\temp\test\*d:\temp\archive\moved:\temp\test\*.*d:\temp\archive\但我得到了这个错误:Thefilename,directoryname,orvolumelabelsyntaxisincorrect.然后我在网上四处搜索并在docbat中尝试了这个:for%%Fin(d:\temp\test\*.*)domove/Y%%Fd:\temp\archive这次没有显示错误,但一切都原地踏步,没有任何变化

windows - 使用批处理检查路径是文件还是文件夹

这个问题在这里已经有了答案:HowtotestifapathisafileordirectoryinWindowsbatchfile?(6个答案)关闭1年前。我正在尝试检查程序中定义的路径是文件还是使用批处理文件的文件夹。一切正常,但是当我尝试提供一个不是文件或文件夹的路径或没有访问它的权限时,它会输出“它是一个文件”。这是代码。@ECHOoffSETLOCALENABLEEXTENSIONSsetATTR=D:\Download\Documents\Newdir/AD"%ATTR%"2>&1|findstr/C:"NotFound">NUL:&&(gotoIsFile)||(goto

windows - 这个批处理脚本有什么问题?

我需要一个从文件中读取数字的批处理,将其递增并将其保存回该文件中...这就是我想出的:@ECHOOFFSETLOCALEnableDelayedExpansionIFEXISTscript\BUILDVERSION(SET/pinput=script\BUILDVERSION)ELSE(ECHO0>script\BUILDVERSION)起初它以一种奇怪的方式工作,从文件中读取数字的结果似乎是一个小的随机数,求和的结果似乎也是随机的......我不知道我做了什么,但是现在它甚至没有将文件中的数字读入变量...在此先感谢您的帮助! 最佳答案

windows - 批处理脚本变量无法正常工作

嗯...我尽量少涉足批处理,我主要是一个C/C#/C++人。我的问题是我的脚本做了两个嵌套的FOR循环,我首先运行“用户”文件夹并获取用户名,然后再运行其他文件夹:setBaseDir=%CD%cdC:\Usersfor/F%%Iin('DIR*.*/B/O:-D')do(setUserName=%%Iecho%UserName%)cd%BaseDir%这大概说明了问题。也许这是我的C++样式格式?也许我在批处理方面很愚蠢?假设我的系统上有3个用户(管理员、用户1、用户2;按此顺序),这将打印:AdminAdminAdmin手提包错了。如果在%%I上调用echo,一切都会按计划进行:A

windows - 如何在 Windows 批处理脚本中检查 URL 是否有效

我是Windows批处理脚本的新手。不过我有一个问题。在Windows批处理脚本中,我如何知道变量是否是有效的URL?示例:有效网址:url=https://stackoverflow.com/questions/ask无效网址:url=notavalidurl 最佳答案 您可以使用FINDSTR通过将其与正则表达式进行匹配来验证您的URL。查看此StackOverflow问题的答案Regularexpressionsinfindstr基本上你得明白如何使用FINDSTR及其/R开关。请参阅HELPFINDSTR如何编写用于匹配和验

Windows 批处理脚本 : for loop not printing * values

我有一个批处理脚本行,如下所示:for%%vin(aabb*cc)doechomget%%v我得到的输出是:mgetaamgetcc但我需要输出为:mgetaamgetbb*mgetcc更新我有一个名为ftp.bat的批处理文件和一个名为parm.txt的参数文件。parm.txt看起来像:server=xxx.yyy.comuser=abcpwd=xyzfiles=aabb*ccdd------(thisvaries)我需要在我的批处理文件中提取这些值来构造ftp命令。使用delim概念,我有服务器、用户、密码,但我需要分隔文件。 最佳答案