Articles of batch file

与UNCpath的文件

我正在尝试使用forfiles删除超过7天的文件。 这些文件位于UNCpath中。 以下是我正在使用的脚本。 Forfiles -p \\devexpress\C$\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path" 但是我得到一个错误提到UNCpath(\ machine \ share)不被支持。 似乎有可用的解决方法,但不能得到明确的答案谷歌search。

loggingWindowspath中多个反斜杠的行为

显然,Windows(或者至lessWindows的某个部分)会忽略path中的多个反斜杠,并将它们视为单个反斜杠。 例如,从命令提示符或“运行”窗口执行这些命令中的任何一个都会打开记事本: C:\Windows\System32\Notepad.exe C:\Windows\System32\\Notepad.exe C:\Windows\System32\\\Notepad.exe C:\Windows\System32\\\\Notepad.exe C:\\Windows\\System32\\Notepad.exe C:\\\Windows\\\System32\\\Notepad.exe 这甚至可以使用在命令行上传递的参数: notepad "C:\Users\username\Desktop\\\\myfile.txt" 这种行为logging在任何地方? 我尝试了几次search,只发现了这个问题,甚至提到了行为。 注意:我不是询问UNCpath(\\ servername),\\?\前缀或\\“双引号转义。 注意:我在处理batch file时偶然发现了这种行为。 batch file中的一行看起来像这样: "%SOME_PATH%\myapp.exe" variables扩展之后,命令如下所示: "C:\Program Files\Vendor\MyApp\\myapp.exe" 令我惊讶的是,batch file按照需要执行,并没有失败,出现某种“找不到path”的错误。

从ubuntu机器上远程运行一个windows xp bat脚本

是否有可能通过命令行从ubuntu机器远程运行Windows XP蝙蝠脚本?

是否可以传递一个variables到一个Windows FTP脚本文件?

我有一个批处理脚本,它dynamic地创build一些文件,并根据时间,date等生成一些随机文件名的四个文件。然后需要通过FTP将该file upload到服务器。 截至目前,我的.bat文件有一个类似“ftp -s:ftp.txt”的行。 Ftp.txt包含一些相当简单的FTP脚本的东西:像这样的东西 – open ftp.myserver.com username password put filename1.dat put filename2.dat put filename3.dat put filename4.dat 我想要做的是传入需要上传的文件名,然后用“put%file1%”replace“put filename1.dat” – 其中%file1%是传入的文件名variables。 这可能吗? 有人知道如何做到这一点? 还是我的整个方法错了?

使用VBA在给定目录中运行batch file

当我去到我的batch file的位置并打开它时,batch file工作。 我的batch file很简单: cd .\data dir/b/o:n > names.txt 正如你所看到的,我在我的当前目录下移动到子目录“data”,并且处理所有的名字并创build一个名为names.txt的文件。 当我说 shell "location of file" 它会打开batch file,但是默认的目录是C:\my documents ,所以我的命令不起作用,因为它找不到子目录。 我希望这是一个dynamic的batch file,因此我需要在VBA中写一些将在当前目录下打开batch file的东西。 我该怎么做呢?

批处理:searchstring以跳过上面的行,并将结果写入新文件

我已经成功地编写了一个脚本,它接受一个string在一个特定的文件中search,然后输出它首次出现的那一行,然后我把这个值放到一个for循环中,然后跳过parsing这个行数并写出它内容到一个新的文件。 但是,我没有得到空白线,我觉得很难解决。 我正在search的string是“/]”,caching它发生的行号,然后用逗号将它累加到一个variables中。 然后我再把这个variables放到一个for循环中,然后检索第一个出现的值作为我最后的“跳过这行数”variables,然后我在底部使用for循环,再次读取该文件,并将其值写入一个新的文件,并跳过文件开头的行数。 所以inheritance了我上面描述的脚本的部分: setlocal enabledelayedexpansion setlocal enableextensions set live_svn_access_file=c:\csvn\data\conf\svn_access_file set of=c:\test.txt for /f "Tokens=1 Delims=:" %%i in ('findstr /n /c:"/]" %live_svn_access_file%') do ( rem cache value in a variable set line=%%i rem accumulate data to one variable if defined line set skip=!skip!, !line! ) rem strip first two characters in variable ", " […]

如何仅为当前操作系统会话设置variables

setx永久修改环境variables。 set仅在批处理脚本持续时间内使variables可用。 有没有办法设置一个variables,以保持其值,直到系统重新启动? 例如在我的batch file中,我正在检查variables是否如下设置: if %MYVAR% == 1 ( <block> )

通过命令提示符运行(可能path错误?)

编译示例(javac StudentApp.java)时从Notepad ++编译我的代码时出现问题。 它不编译,而是我得到这个错误代码 – “不被识别为内部或外部命令可操作的程序或batch file”。 我现在使用Windows 8 – 8.1。 这是我的path: C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;append 如果有人能帮助,我将不胜感激。 谢谢。

打开命令提示符窗口并更改当前工作目录

我在windows上编写脚本非常新奇。 使用Windows 7 64。 我试图做一个.bat文件,我可以双击,并打开一个命令提示符,并自动将我cd到一个特定的目录。 我试着用.bat文件 @ECHO OFF cmd "cd C:\my\destination" 这将打开看起来像命令提示符,但似乎不让我input任何命令。 我然后尝试: @ECHO OFF start cmd "cd C:\my\destination" 但是,这只是让我进入一个循环,打开吨和吨的提示,直到我的电脑坠毁:) .bat文件位于目标目录,如果重要的话。

批量修改XML文件

好的,所以我不太熟悉For / F。 我可以修改它,如果文件是静态的,并有一套行我可以跳过,然后从中提取数据。 我目前正在尝试修改.XML文件。 该文件将有不同的行数,但总是有以下几点 </SyncWindow> </AutoSyncWindows> <SyncServiceConnections /> <DaysToRetainRecordedData>90</DaysToRetainRecordedData> <SyncRestartRequired>false</SyncRestartRequired> – <LastGroupsSynced> <DaysToRetainRecordedData>90</DaysToRetainRecordedData>可能不同,例如<DaysToRetainRecordedData>30</DaysToRetainRecordedData> 使用令牌,search该行的.XML文件的最有效方法是用下面的<DaysToRetainRecordedData>0</DaysToRetainRecordedData>覆盖它。 我不能覆盖整个.XML文件,因为他们有不同的服务器密钥,每个机器都有所不同。所以我需要能够find该行,并将值编辑为0.任何想法? 如果For / F不是最有效的方法,我可以根据需要移动到VBS。 但是它必须从纯粹的shellcode中调用,并且会使事情变得复杂一些。