2016-11-03 76 views
0

我需要創建一個批處理文件來爲我所在的類做一些事情。運行所需的一切工作,但我找不到一個簡單的答案,爲什麼改變目錄( CD)不適合我。我無法弄清楚,所以任何幫助表示讚賞。更改在批處理文件中的目錄命令不起作用

我的代碼如下

@echo off 

title NewUser 

: creating a folder called "Scripts" on C:\ 
: add local user named: "MaxLocal" password: "student" 
: create directory at the root of F:\ named "Files_for_Max" 
: create ACE for user "MaxLocal" to "Files_for_Max" with: Read, read & Execute, List folder contents 
: Re-establish inheritence to sub folders and files 
: copies cmd.exe from C:\Windows\System32 folder to "Files_for_Max" 
: add "MaxLocal" to management group created in Assignment 3 
: produces ICACLS report for "Files_for_Max" called "icaclsReport.txt" in "Scripts" 
: moves this .bat file to "Scripts" 

mkdir "C:\Scripts" 

net user MaxLocal student /add 

mkdir "F:\Files_for_Max" 

icacls "F:\Files_for_Max" /grant MaxLocal:(OI)(CI)RX 

copy "C:\Windows\System32\cmd.exe" "F:\Files_for_Max" 

net localgroup Management MaxLocal /add 

icacls F:\Files_for_Max /save C:\Scripts\icaclsReport.txt /t 

move "F:\NewUser.bat" "C:\Scripts" 

pause 

所以它的最後一行具體地說,MOVE的偉大工程,但我不能用它無論出於何種原因。我已經嘗試了很多方法來處理如何使用CD來完成任務。我需要將這個NewUser.bat文件放在F上,並將它移動到新創建的腳本文件夾中。是的,我已經嘗試了/ D命令,但也許我沒有正確的間距或不需要時使用引號?

任何想法?

+1

我在代碼中看不到任何'CD'命令。 – JosefZ

+0

@JosefZ:我可以證實你並不是盲目的。 – Magoo

+0

等一下,這是'NewUser.bat',還是這個另一個腳本? –

回答

1
cd /d "C:\Scripts" 

這將當前工作目錄更改爲C:\ Scripts。
如果要移動而不是這個批處理文件:

copy "%~f0" "C:\Scripts" 
(goto) 2>nul & del "%~f0" 

這將自身複製(%~f0)到C:\ Scripts中,然後刪除自身,實際上是一個移動命令。
如果你願意,你可以這樣做:

copy "%~f0" "C:\Scripts" 
start "C:\Scripts\~nx0" 
(goto) 2>nul & del "%~f0" 

其中也開始複製的批處理文件,然後刪除自身。

+0

感謝您的幫助。這不正是我需要做的,無論出於何種原因,cd/d「C:\ Scripts」都不起作用。但是,你的其他結論呢。這是非常讚賞。 – Shafty

+0

然後考慮接受它作爲正確的答案。它表明它解決了你的問題,而其他人可以在需要幫助時查看它。 –

+0

噢,這完全是一個正確的迴應,並且此舉也可能與許多其他方式一起實現所需的解決方案。我的問題是,我的任務指出,對於這個特定的問題,我不得不使用CD,無論出於何種原因,我都無法運行它。 – Shafty

0

您可以在複製命令之前使用cd,這可能與您在移動命令之前需要使用它的方式相對應。

cd C:\Windows\system32 
copy cmd.exe F:\Files_for_Max 

批處理文件要求「複製的內容,其中」所以我們有副本複印件,CMD.EXE什麼,和F:\ Files_for_Max的地方。

同樣,

cd F:\ 
move NewUser.bat C:\Scripts 

應該是它可以工作的方式。因此,首先你要求它移動指定文件,就像我在複製命令中所做的一樣。

相關問題