为什么这个简单的回声不起作用?

时间:2017-03-15 18:27:38

标签: batch-file

所以,我正在玩分裂字符串,我遇到了这种情况:

for /f "tokens=1" %%c in ("A B C") do (
  set s=%%c
  echo s: %s%
)
pause

我希望它能打印出来:

s: A

但它确实打印出来:

s: 

为什么吗

我想要做的是:我有一些名字有默认位置的文件夹(id名称,e:123 ABC),在每个文件夹里面我都有一个我需要复制的文件,但是文件名每个都不同,所以我需要得到没有id的文件夹的名称,我认为应该这样做是这样的:

cd C:\MyFolders
pause
for /d %%a in (*) do (
  set name=%%a
  for %%b in ("%%a\*.txt") do (
    for /f "tokens=1" %%c in ("%%a") do (
      set id=%%c
      set name_without_id=%name%:%id% =
      echo new file name: %name_without_id%
    )
  )
)
pause

我认为这可能是我的代码中的一个错误,所以我做了第一个,非常简单,但我没有得到我期待的。

0 个答案:

没有答案