我在Win 10上,我的Documents文件夹通过Windows工具移动到我的E:驱动器。我需要运行批处理文件来找到此路径,更改批处理文件中的当前目录,并将文件从子文件夹复制到另一个驱动器。批处理文件需要能够从本地PC上的任何位置运行。
以下命令返回E:\ Users \ username \ Documents \ Test \ T1但它实际上并未更改批处理文件中的目录。
@echo
for /f "tokens=3*" %%p in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal') do set DocumentsFolder=%%p
echo %DocumentsFolder%\Test\T1\
所有复制命令行都位于批处理文件的同一部分中。本节开头的一张CD会影响整个部分吗?
我非常感谢任何建议。我在寻找新事物时经常访问这个网站,但我找不到这个答案。
非常感谢
答案 0 :(得分:0)
我认为您的问题只是您需要更改驱动器以及目录。
最简单的方法是将var fingerLocation = CGPoint()
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch: AnyObject in touches {
fingerLocation = touch.location(in: self)
}
}
func rotatePlayer(){
let radians = atan2(fingerLocation.x - playerNode.position.x, fingerLocation.y - playerNode.position.y)
playerNode.zRotation = -radians//this rotates the player
}
override func update(_ currentTime: TimeInterval) {
rotatePlayer()
}
选项与/D
一起使用,在命令提示符处输入CD
以供其使用。
CD /?
或者无需更改目录:
@Echo Off
Set "RK=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
For /F "EOL=H Tokens=2*" %%A In ('Reg Query "%RK%" /V Personal'
) Do Echo CD /D "%%~B\Test\T1"
Copy /Y "text1.txt" "F:\Test\T1"
Pause
答案 1 :(得分:0)
从reg query
返回的数据不是查询的干净数据。
我得到一个CRLF,然后是完整的密钥路径,CRLF,然后是值,类型 和数据。其次是至少另一个CRLF。
我将在Personal
的第一个标记中搜索值%%A
。
%%B
的第二个标记具有此处未使用的数据类型。
第三个令牌具有所需的数据,因此它将在%%C
时
使用tokens=1,2*
。
@echo off
set "Personal="
for /f "tokens=1,2*" %%A in (
'reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V Personal'
) do if /i "%%~A" == "Personal" set "Personal=%%~C"
if not defined Personal exit /b 1
cd /d "%Personal%"
echo %cd%
pause
处理代币
示例字符串:
个人REG_SZ D:\用户\带空格的文件
Delims设置默认为空格和标签。使用for /?
获取帮助。
Delims字符分隔标记。
从tokens=1
开始,它将获得第一个令牌Personal
。
将,2
添加为tokens=1,2
,这将获得第一个令牌Personal
和
第二个令牌REG_SZ
。
将*
添加为tokens=1,2*
,这将获得第一个令牌Personal
,
第二个令牌REG_SZ
和第三个令牌将其余部分全局化
D:\User\Documents With Spaces
。
令牌模式2
和*
之间的逗号是可选的,因此我做了
不要添加逗号。
使用%%A
作为初始for
变量,%%A
包含第一个令牌,
%%B
包含第二个令牌。 %%C
包含第三个令牌。
答案 2 :(得分:0)
set "Personal="
for /f "tokens=1,3" %%A in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V Personal') do if /i "%%~A" == "Personal" set "Personal=%%~B"
if not defined Personal exit /b 1
cd /d "%Personal%\A2A\FSX"
cd "B17"
>NUL COPY "B17log.dat" "F:\Dropbox\My FlightSim Backup\[user folder]\Documents\A2A\FSX\B17\B17log_%date:~10,4%-%date:~4,2%-%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,5%.dat"
cd "..\377"
>NUL COPY "377log.dat" "F:\Dropbox\My FlightSim Backup\[user folder]\Documents\A2A\FSX\377\377log_%date:~10,4%-%date:~4,2%-%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,5%.dat"
>NUL COPY "B377log.dat" "F:\Dropbox\My FlightSim Backup\[user folder]\Documents\A2A\FSX\377\B377log_%date:~10,4%-%date:~4,2%-%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,5%.dat"
>NUL COPY "B377.dat" "F:\Dropbox\My FlightSim Backup\[user folder]\Documents\A2A\FSX\377\B377_%date:~10,4%-%date:~4,2%-%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,5%.dat"
>NUL COPY "axisConfig.cfg" "F:\Dropbox\My FlightSim Backup\[user folder]\Documents\A2A\FSX\377\axisConfig.cfg"
再次感谢,非常感谢 罗杰