小编asc*_*pfl的帖子

Windows批处理脚本删除文件夹中的所有内容,但不包括一个

我有一个脚本删除文件夹中的所有子文件夹和文件:

FOR /D %%i IN ("D:\myfolder\*") DO RD /S /Q "%%i" & DEL /Q "D:\myfolder\*.*"
Run Code Online (Sandbox Code Playgroud)

而且效果很棒!唯一的问题是我想排除一个或多个文件夹,例如XCOPY排除功能.

我只是想不出如何将其添加到脚本中.

windows command-line batch-file

12
推荐指数
1
解决办法
2万
查看次数

为什么我不能在if语句中获得延迟扩展变量的子字符串?

为什么字符串操作在if语句中内联工作而不使用延迟扩展变量 - 否则失败.例如:

set test=testString
if %test:~0,4%==test echo Success
Run Code Online (Sandbox Code Playgroud)

这工作正常; 回来Success.但是,如果我执行以下操作:

setLocal enableDelayedExpansion
set test=testString
if !test:~0,4!==test echo Success
Run Code Online (Sandbox Code Playgroud)

我收到错误 - 4!==test was unexpected at this time.

显然你可以通过在if语句中set comp=!test:~0,4!使用!comp!变量来做到这一点.

cmd if-statement batch-file delayedvariableexpansion

12
推荐指数
2
解决办法
3235
查看次数

MD和MKDIR批处理命令有什么区别?

两个命令都创建文件夹 我读到 MKDIR可以创建甚至子文件夹.

  • 这只是区别吗?
  • 为什么有两个命令做同样的事情?
  • 我应该使用哪一个?

windows cmd dos batch-file mkdir

11
推荐指数
2
解决办法
2万
查看次数

模拟服务与另一个弹簧服务与mockito

我面临着在Spring框架内模拟注入其他服务的服务的问题.这是我的代码:

@Service("productService")
public class ProductServiceImpl implements ProductService {

    @Autowired
    private ClientService clientService;

    public void doSomething(Long clientId) {
        Client client = clientService.getById(clientId);
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

我想ClientService在我的测试中嘲笑,所以我尝试了以下内容:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:/spring-config.xml" })
public class ProductServiceTest {

    @Autowired
    private ProductService productService;

    @Mock
    private ClientService clientService;

    @Test
    public void testDoSomething() throws Exception {
        when(clientService.getById(anyLong()))
                .thenReturn(this.generateClient());

        /* when I call this method, I want the clientService
         * inside productService to be the mock that one I mocked
         * in this …
Run Code Online (Sandbox Code Playgroud)

java spring spring-test junit4 mockito

10
推荐指数
2
解决办法
2万
查看次数

MSDOS在屏幕上打印整个批处理文件而不是执行

每当我尝试执行批处理文件时,即使是简单的批处理文件,它也会打印整个文件而不是执行它.我在MS-DOS 3.3和4.0上试过它,都这样做.如果我在命令提示符中单独执行每个命令虽然它们有效(因此如果我在命令提示符中键入"pause",它将暂停,与其他命令一样).批处理文件在Windows 2000(我唯一可以读取720k软盘的计算机)中运行良好.我的代码如下,命名为test.bat:

@echo off
cls
echo Hello World!
pause
Run Code Online (Sandbox Code Playgroud)

执行时看起来像什么,文本说顶部测试是我执行的程序名称: 屏幕照片

dos batch-file

10
推荐指数
1
解决办法
270
查看次数

为什么ErrorLevel仅在||之后设置 操作员重定向失败?

在重定向失败时(由于文件不存在或文件访问不足),ErrorLevel似乎没有设置该值(在以下示例中,文件test.tmp是写保护的,文件test.nil不存在):

>>> (call ) & rem // (reset `ErrorLevel`)

>>> > "test.tmp" echo Text
Access is denied.

>>> echo ErrorLevel=%ErrorLevel%
ErrorLevel=0

>>> (call ) & rem // (reset `ErrorLevel`)

>>> < "test.nil" set /P DUMMY=""
The system cannot find the file specified.

>>> echo ErrorLevel=%ErrorLevel%
ErrorLevel=0
Run Code Online (Sandbox Code Playgroud)

但是,只要失败的重定向后面跟着||查询退出代码的条件连接运算符,ErrorLevel就会1意外地设置为:

>>> (call ) & rem // (reset `ErrorLevel`)

>>> (> "test.tmp" echo Text) || echo Fail
Access is denied.
Fail

>>> …
Run Code Online (Sandbox Code Playgroud)

windows cmd batch-file exit-code io-redirection

10
推荐指数
1
解决办法
666
查看次数

双击运行Python文件

我真的很讨厌问题,我只能通过双击来运行Python文件.

我试图将其设置为打开文件,idle.bat但只在双击时启动IDLE编辑器,它不会运行Python文件.

python batch-file python-idle

10
推荐指数
3
解决办法
3万
查看次数

在IF语句WinXP批处理脚本中使用OR

有没有办法通过IF语句传递OR?

如:

SET var=two
IF "%var%"=="one" OR "two" OR "three" ECHO The number is between zero and four.
Run Code Online (Sandbox Code Playgroud)

windows conditional cmd if-statement batch-file

9
推荐指数
1
解决办法
1万
查看次数

无法在Windows命令提示符(cmd.exe)中重定向输出消息

我试图在Windows命令提示符下运行以下命令.

abc.exe >log.txt 2>&1
Run Code Online (Sandbox Code Playgroud)

我期望所有输出abc.exe都被定向到log.txt,但它不起作用,因为它log.txt是空的.

但是,如果我只是执行abc.exe,则输出将显示在Windows命令提示符中.

我不确定这个应用程序使用的输出处理程序是什么(STDOUT或STDERR),但我想知道是否有一种方法可以捕获所有消息,而不管处理程序如何.

windows cmd io-redirection

9
推荐指数
1
解决办法
3015
查看次数

检测用户何时开始/停止在jquery中输入

一旦我为我的问题搜索解决方案,我的问题是"我想检测用户何时打字以及何时停止输入以便我可以更新状态."

我创建了一个样本.愿它适合你.

var typingTimer;
var doneTypingInterval = 10;
var finaldoneTypingInterval = 500;

var oldData = $("p.content").html();
$('#tyingBox').keydown(function() {
  clearTimeout(typingTimer);
  if ($('#tyingBox').val) {
    typingTimer = setTimeout(function() {
      $("p.content").html('Typing...');
    }, doneTypingInterval);
  }
});

$('#tyingBox').keyup(function() {
  clearTimeout(typingTimer);
  typingTimer = setTimeout(function() {
    $("p.content").html(oldData);
  }, finaldoneTypingInterval);
});



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>



<textarea id="tyingBox" tabindex="1" placeholder="Enter Message"></textarea>
<p class="content">Text will be replace here and after Stop typing it will get back</p>
Run Code Online (Sandbox Code Playgroud)

查看小提琴:http://jsfiddle.net/utbh575s/

html javascript jquery typing

9
推荐指数
1
解决办法
4258
查看次数