Articles of batch file

为什么文件不能被发现复制

我正在写一个批处理脚本,将文件从一个文件夹复制到C:\驱动器: @ECHO ON COPY C:\RANDOMFILES\Weekly Reprort_Hew*.xls C:\Weekly Reprort_Hew???????????.xls RANDOMFILES文件夹中的文件名是: Weekly Reprort_Hew, 6-29-2014 10-30-00 PM-642.xls (date和时间以及结尾的数字总是会改变的,所以我在复制的文件名中使用了*在脚本中) 当我运行批处理脚本时,我收到以下消息: c:\RANDOMFILES>COPY C:\RANDOMFILES\Weekly Reprort_Hewlett*.xls C:\Weekly Reprort _Hewlett???????????.xls The system cannot find the file specified. 我该如何解决这个问题?

批处理脚本来检查系统中是否存在Java主目录并检查Java版本

有没有办法编写一个批处理脚本来检查环境中是否存在java home,并检查java版本是否高于7 @echo off IF "%JAVA_HOME%" == "" ( echo Enter path to JAVA_HOME: set /p JAVA_HOME= ) ELSE ( echo %JAVA_HOME% ) 我用上面的脚本来检查java home.But它没有给出任何适当的输出

如何删除文件夹中的所有文件XXX

我在名称为XXX的服务器中有许多文件夹。 每个文件夹都在树结构中的不同文件夹中。 我需要从一个根目录中删除该文件夹内的所有文件。 for /d %i in (*.*) do del %i\*.* 这将删除我所有的文件

batch file在创build服务后停止

我的批处理脚本不会在“service.bat install”之后执行任何行。 我试过了我能想到的一切。 如果我评论这一行,那么一切正常。 似乎脚本在创build服务后停止。 请帮忙。 @echo off net stop Tomcat7 REM ————- Unzipping the zip file contents to a TEMP folder ——————– call unzip C:\Test\test.zip -d C:\Test\TEMP REM ————- Removing the existing folder and updating with the latest war file — REM rmdir /s /q C:\Test\apache-tomcat-7.0.52-test\webapps\Web copy /y C:\Test\TEMP\Photo.war C:\Test\apache-tomcat-7.0.52-test\webapps xcopy /y C:\Test\TEMP\Scheduler C:\BTest […]

在Windows批处理中将string转换为整数

我一直在寻找很多关于如何将一个string转换为一个整数在Windows批处理,但我不知道该怎么做。 我写了一个batch file,从一个目录复制到另一个文件并在当前date之后命名。 我的代码是这样的: set FILE=log %date:~6,4%-%date:~3,2%-%date:~0,2% copy C:\log.txt C:\"%FILE%".txt 我需要做的转换,使之前的一天FILE。 例如,如果我现在运行脚本,我会得到一个名为“log 2014-07-09”的文件,但我希望它是“log 2014-07-08”。 我已经尝试了这几句话,但我得到一个关于数值的错误是无效的: set DAY=%date:~0,2% :: this assignation give me no problems set /A DAY = %DAY%-1 :: this is the one that makes my head breaks 我不知道错误在哪里,因为我几乎不知道windows的批处理语句。 我已经阅读了关于在命令和其他网站(如这个 )的SET命令语法,但我不能得到我失败的地方。 我知道这可能是非常简单的(在某些编程语言中,一个分析语句就足够了),但是我对这个批处理脚本是一个总的新手,所以任何帮助都将不胜感激。 🙂

在Windows中使用带有基名和通配符的列表文件select文件

我正在尝试从一个目录中select一个(jpeg)文件的子集,这个目录是基于包含基本名称的列表文件中的一组基本名称。 该目录包含数以万计的名称如下的文件: 1234_Inlet.jpg 5678-Upstream.jpg 12345_Outlet.jpg 67890-Downstream2.jpg D0305_DownstreamFace.jpg NBSheep6-UpstreamView2.jpg 也就是说,有多种基本名称,包含不同长度的字母数字字符,总是跟着连字符或下划线,然后是更多的字符,后面跟着“.jpg”。 我将用来从这个目录中select文件子集的列表将只包含基本名称: 1234 5678 12345 67890 D0305 NBSheep6 任何人都可以告诉我如何构build一个batch file与适当的循环和通配符来select和复制这样的文件的子集,并将其写入一个新的目录?

使用batch file设置环境variables

我想为使用batch file编写的工具设置PATH 。 但是我只想修改它,如果我想要添加的path尚未包含在该String 。 我想我得到的语法错了,因为我不能得到它的工作。 @setlocal enableextensions enabledelayedexpansion @echo off set MinGWmsys="%CD%\tools\MinGW\msys\1.0\bin;" set MinGWbin="%CD%\tools\MinGW\bin;" set SDCCbin="%CD%"\tools\SDCC\bin;" set lpath="%PATH%" if not x%lpath:%MinGWmsys%=% == x%lpath% ( echo PATH already contained %MinGWmsys% ) else ( echo Adding %MinGWmsys% to PATH setx PATH "%MinGWmsys%;%PATH%" ) if not x%lpath:%MinGWbin%=% == x%lpath% ( echo PATH already contained %MinGWbin% ) else […]

Windows批处理 – ftp上传和连接

我想上传一个文件到我的FTP服务器,如果互联网连接 在每次运行中,我更喜欢: if (ftp server can be connected){ upload the file "C:\abc.txt" to the ftp server directory "/ABC_DB" } 因此,我不知道如何检查ftp连接,是否可以像这样运行: echo abc > C:\abc.txt ???Check the connection here OPEN your.ftp.server.com usernameabc passwordbcd CD /ABC_DB PUT "C:\abc.txt" QUIT PAUSE 对不起,问这样愚蠢的问题,但我是批量新,希望你能帮助我= [

Shell脚本提供了很多这些东西作为输出,它从来没有做过

最好只告诉你input/输出,你会明白为什么它很奇怪。 对于擅长这个的人来说应该是一个快速的解决scheme,我花了一天的时间来写这个脚本。 我采取的步骤: 运行AutoBackup.bat C:\cygwin\bin\sh AutoBackupShell.sh pause AutoBackup.bat调用AutoBackupShell.sh name=`C:/cygwin/bin/date +'backup_%Y_%m_%d_%H_%M_%S'` end="_Engine" name=$name$end C:/cygwin/bin/cp -r ./Engine Backups/$name 输出是这样一个文件夹: backup_2014_07_16_19_07_14_Engine 需要注意的是,在我的Windows机器上,那些奇怪的问号框看起来就像这些“,”更垂直居中。 输出应该如下所示: backup_2014_07_16_19_07_14_Engine 电脑笔记: Windows 7 64位 使用cygwin的sh 在弄清楚为什么会出现奇怪的字符之后,我需要做的另一件事情是如何只复制具有特定扩展名的文件进行备份。 这不是问题的一部分,但有一点方向可以帮助我。

如何在Windows命令行上获取文件的创builddate?

我正在使用以下命令获取给定模式的文件的最后修改时间。 for /r C:\ %F in ("*.txt") do @echo "%~nxF", "%~tF" 我如何获得创builddate呢?