首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何测试文件夹是否在那里,然后使用该信息去某个地方

如何测试文件夹是否在那里,然后使用该信息去某个地方
EN

Stack Overflow用户
提问于 2014-06-30 11:33:34
回答 2查看 40关注 0票数 2

这是我的wip程序

代码语言:javascript
运行
复制
@ECHO OFF
COLOR 0B


:JRNLMENU
CLS
ECHO WHAT WOULD YOU LIKE TO DO?
ECHO.
ECHO.
ECHO 1-CREATE NEW ENTRY
ECHO 2-READ OLD ENTRIES
ECHO 3-EXIT
SET/P "CHO=>"
IF %CHO%==1 GOTO TESTFOR
IF %CHO%==2 GOTO VIEWENTRY
IF %CHO%==3 GOTO EXIT
ECHO ERROR, PLEASE TRY AGAIN
PAUSE
CLS
GOTO JRNLMENU


:TESTFOR
CLS
CD C:\USERS\%USERNAME%\DOCUMENTS\
IF EXIST CATSYSTEMS GOTO CREATEJRNL
IF NOT EXIST CATSYSTEMS GOTO CREATEFLDR


:CREATEFLDR
MD c:\USERS\%USERNAME%\DOCUMENTS\CATSYSTEMS
CLS
ECHO HELLO
PAUSE
CLS
GOTO CREATEJRNL


:CREATEJRNL
ECHO TYPE WHAT YOU WOULD LIKE TO PUT IN YOUR JOURNAL
ECHO PRESS ENTER TO GO TO THE NEXT LINE
PAUSE

如果文件夹在那里,我不能让它跳过createfldr。它将在正确的位置创建它,但它似乎不会检查它是否在那里。我有一个锁定文件夹的批处理文件(就像大多数人看到的那样),所以我认为testfor部分应该可以工作。然而,我经常使用的大多数其他代码,所以我非常确定所有的命令都可以工作。任何帮助都是非常好的:)

EN

Stack Overflow用户

发布于 2014-07-01 23:31:07

我建议使用以下版本的批处理文件:

代码语言:javascript
运行
复制
@ECHO OFF
COLOR 0B


:JRNLMENU
CLS
ECHO WHAT WOULD YOU LIKE TO DO?
ECHO.
ECHO.
ECHO 1-CREATE NEW ENTRY
ECHO 2-READ OLD ENTRIES
ECHO 3-EXIT
SET /P "CHO=>"
IF %CHO%==1 GOTO TESTFOR
IF %CHO%==2 GOTO VIEWENTRY
IF %CHO%==3 GOTO EXIT
ECHO ERROR, PLEASE TRY AGAIN
PAUSE
GOTO JRNLMENU


:TESTFOR
CLS
CD /D "C:\USERS\%USERNAME%\DOCUMENTS\"
IF EXIST CATSYSTEMS GOTO CREATEJRNL
IF NOT EXIST CATSYSTEMS GOTO CREATEFLDR


:CREATEFLDR
MD "C:\USERS\%USERNAME%\DOCUMENTS\CATSYSTEMS"
CLS
ECHO HELLO
PAUSE
CLS
GOTO CREATEJRNL


:CREATEJRNL
ECHO TYPE WHAT YOU WOULD LIKE TO PUT IN YOUR JOURNAL
ECHO PRESS ENTER TO GO TO THE NEXT LINE
PAUSE

这里有一些小的修正。可能重要的是:

如果当前工作目录不在驱动器C:上,则不带可选参数/D

  1. 命令CD可能会失败。因此,如果在执行批处理文件时无法控制哪个目录是工作目录(快捷方式属性中的Start In),则在更改当前工作目录时使用/D总是更好。
  2. 用户帐户名还可以包含空格字符,请参阅微软文章Creating User and Group Accounts。因此,建议将所有包含%USERNAME%的路径都用双引号括起来。

另外两个提示:

如果不是所有用户都使用Windows Vista或更高版本,或者用户帐户目录不在驱动器上,则

  1. 最好使用%USERPROFILE%而不是C:\USERS\%USERNAME%来查看执行批处理文件时发生的情况,并在顶部使用@ECHO ON而不是@ECHO OFF
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24482612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档