10 svar
201 visningar
delz behöver inte mer hjälp
delz 50
Postad: 15 feb 2018 13:14

flytta fil till en mapp - Jscript


var SKRIVNYFIL = 2;
var mappNamn = 'test';
var filNamn = 'xyz';

 //Vill flytta filen jag skapar till att finnas i mappen (som jag även skapar).

//filen heter xyz

var fSysObj = WScript.CreateObject('Scripting.FileSystemObject');

 

//Skapar mapp med namnet test

var objMapp = fSysObj.CreateFolder(mappNamn);

 

//skapar tom fil

var objfil = fSysObj.CreateTextFile(filNamn,true);

 

//Här förväntar jag mig att filen flyttas till mappen jag skapade

var objMove = fSysObj.MoveFile('C:\Users\delz\Desktop\Programmering 1\fasf', 'test\xyz');

//Vet inte hur jag ska åtgärda det

PeterÅ 842
Postad: 15 feb 2018 16:09 Redigerad: 15 feb 2018 16:11

I många av Microsofts egentillverkade språk är apostrofen inledningen till en kommentar i koden. Så även i WSH. Det innebär att istället för apostrofen ' (enkelfnutt) ska du använda citationstecken " (dubbelfnutt).

Det innnebär även att // för en kommentar som funkar i javascript, C, C++, C#, Java mfl. inte fungerar i WSH.

delz 50
Postad: 18 feb 2018 19:17

var SKRIVNYFIL = 2;
var mappNamn = "test";
var filNamn = "xyz";

 

var fSysObj = WScript.CreateObject("Scripting.FileSystemObject");

var objMapp = fSysObj.CreateFolder(mappNamn);


var objfil = fSysObj.CreateTextFile(filNamn,true);

 

var objMove = fSysObj.MoveFile("C:\Users\delz\Desktop\Programmering 1\fasf", "C:\Users\delz\Desktop\Programmering 1\fasf\test");

 


Jag får fortfarande detta felet.. nu förstår jag tyvärr ej var jag gör fel?

 

PeterÅ 842
Postad: 19 feb 2018 11:57 Redigerad: 19 feb 2018 12:16

Sparar du filen med filändelse .js? Då tolkas den som en JScript-fil.
Backslash-tecknet '\' är lite speciellt i många programspråk. I ditt fall måste du dubblera dem:

C:\Users\delz\Desktop\Programmering 1\fasf ändrar du till
C:\\Users\\delz\\Desktop\\Programmering 1\\fasf

delz 50
Postad: 19 feb 2018 13:09

Jag sparar dem med filändelse .js
har dubblerat backslash tecknet överallt och får detta felmeddelande:

PeterÅ 842
Postad: 19 feb 2018 13:34 Redigerad: 19 feb 2018 13:35

Felmeddelandet talar om för dig vad som är fel. Dubbelkolla backslash

delz 50
Postad: 19 feb 2018 14:08

Har skrivit rätt med backslash men förstår ej felet. Det enda jag vill är att filen `xyz` ska hamna i mappen `test`.

var SKRIVNYFIL = 2;
var mappNamn = "test";
var filNamn = "xyz";

 

var fSysObj = WScript.CreateObject("Scripting.FileSystemObject");

var objMapp = fSysObj.CreateFolder(mappNamn);


var objfil = fSysObj.CreateTextFile(filNamn,true);

 

var objMove = fSysObj.MoveFile("C:\\Users\\delz\\Desktop\\Programmering 1\\fasf", "C:\\Users\\delz\\Desktop\\Programmering 1\\fasf\\test");

PeterÅ 842
Postad: 19 feb 2018 14:41

Du adresserar ju inte filen xyz här:
var objMove = fSysObj.MoveFile("C:\\Users\\delz\\Desktop\\Programmering 1\\fasf", "C:\\Users\\delz\\Desktop\\Programmering 1\\fasf\\test");
Dessutom: Undvik filer utan filändelse (extension). Kalla hellre filen för xyz.txt elller likn.

delz 50
Postad: 19 feb 2018 20:54

har ändrat till
var filNamn = "xyz.txt";

kodade detta och nu har jag adresserat `xyz.txt` filen?


var objMove = fSysObj.MoveFile("C:\\Users\\delz\\Desktop\\Programmering 1\\fasf\\xyz.txt", "C:\\Users\\delz\\Desktop\\Programmering 1\\fasf\\test");

Får detta felmeddelande:

PeterÅ 842
Postad: 20 feb 2018 08:45

Bra. Då fungerar ditt script. Beroende på plattform kommer inte vissa filoperationer att tillåtas. Jag får samma "fel" själv. Kolla med din lärare hur du kan åtgärda detta.

delz 50
Postad: 20 feb 2018 18:54

Tusen tack för hjälpen :)

Svara
Close