2016-11-03 15 views
0

バッチファイルを作成する必要があります。クラスを実行するために必要なものはすべてありますが、なぜディレクトリを変更するのか簡単な答えは見つかりませんCD)は私のために働いていません。私はそれを理解することができないので、どんな助けもありがたいです。バッチファイルのChange Directoryコマンドが機能しない

@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でそれを行う方法のトンを試してみました。私はFにこのNewUser.batファイルを取って、新しく作成されたスクリプトフォルダに移動する必要があります。はい、私は/ Dコマンドを試しましたが、おそらく正しい間隔がないか、不要なときに引用符が使用されましたか?

アイデア?

+1

コードに「CD」コマンドが表示されません。 – JosefZ

+0

@JosefZ:あなたは目が見えないように見えることがあります。 – Magoo

+0

ホールドオン、これは 'NewUser.bat'ですか、それともこの別のスクリプトですか? –

答えて

1
cd /d "C:\Scripts" 

これにより、現在の作業ディレクトリがC:\ Scriptsに変更されます。
あなたの代わりにバッチファイル自体を移動したい場合:Cに

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

この自分自身をコピー(%~f0を):\スクリプト、そして効果的に移動コマンド、自身を削除します。
は、あなたがこれを行うことができますしたい場合:また、コピーしたバッチファイルを起動する

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

が、それは自分自身を削除します。

+0

助けてくれてありがとう。それは私が何をする必要があるのか​​、どんな理由であれ、cd/d "C:\ Scripts"はうまくいきません。しかし、あなたの他の結論はします。非常に感謝しています。 – Shafty

+0

それから適切な答えとしてそれを受け入れることを検討してください。それはあなたの問題を解決したことを示し、助けが必要な人はそれを見ることができます。 –

+0

ああ、それはまったく正しい応答であり、移動はまた、おそらく他の多くの方法と一緒に、望ましい解決策を実行します。私の問題は、私の割り当てでは、この1つの特定の問題について、私はCDを使用しなければならず、何らかの理由で実行することができないと述べています。 – Shafty

0

copyコマンドの前にcdを使用している可能性があります。これは、moveコマンドの前にどのように使用する必要があるかに対応しています。

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

バッチファイルので、私たちは、何のためにcmd.exeをコピーのコピーを持っている「どのようなコピー」を要求し、F:\ Files_for_Max場所のために。

同様に、

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

は、それが働くことができる方法でなければなりません。最初に、コピーコマンドにあるように、指定されたファイルを移動するように頼む前に、ディレクトリF:\に移動します。

関連する問題